问题
I cannot rewrite to include two parameters but the last parameter is optional, so for example:
http://www.mywebsite.com/friends/jamie - (the forward slash should be optional too). Which should be the same as this:
http://www.mywebsite.com/friends.php?name=jamie
When including a second parameter
http://www.mywebsite.com/friends/jamie/30 - Should be the same as this:
http://www.mywebsite.com/friends.php?name=jamie&page=30
This rule does not work:
RewriteRule ^friends/(.*)/(.*)$ friends.php?name=$1&page=$2
Because I get this: The requested URL /friends/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.
回答1:
Try using this rule instead:
RewriteRule ^friends/([^/]*)/?(.*)$ friends.php?name=$1&page=$2
Hope that helps
来源:https://stackoverflow.com/questions/5809602/rewriterule-two-parameters-but-last-parameter-is-optional