Q . Htaccess RewriteRule - two parameters but last parameter is optional.

Dev Singh. asked, Apr 07 ' 2017

I cannot rewrite to include two parameters but the last parameter is optional, so for example:

http://www.codeman.in/users/jamie - (the forward slash should be optional too). Which should be the same as this:

http://www.codeman.in/users.php?name=jamie

When including a second parameter

http://www.codeman.in/users/jamie/30 - Should be the same as this:

http://www.codeman.in/users.php?name=jamie&page=30

This rule does not work:

RewriteRule ^users/(.*)/(.*)$ users.php?name=$1&page=$2

Because I get this: The requested URL /users/jamie was not found on this server. but works if I include a page number for the second parameter, so basically the second parameter should be optional.

  • htaccess
  • query-string
  • mod-rewrite

1 Answers

Try using this rule instead:

RewriteRule ^users/([^/]*)/?(.*)$ users.php?name=$1&page=$2

Hope that helps

 

Leave a Ansewer