RewriteRule - 两个参数但最后一个参数是可选的

10

我无法重写代码来包含两个参数,但是最后一个参数是可选的,例如:

http://www.mywebsite.com/friends/jamie - (斜杠也应该是可选的)。这应该与以下内容相同:

http://www.mywebsite.com/friends.php?name=jamie

当包含第二个参数时

http://www.mywebsite.com/friends/jamie/30 - 应该与这个相同:

http://www.mywebsite.com/friends.php?name=jamie&page=30

这个规则不起作用:

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

因为我得到了这个错误:The requested URL /friends/jamie was not found on this server. 但如果我在第二个参数中包含一个页面编号,它就可以工作,所以基本上第二个参数应该是可选的。

1个回答

32

试着使用这个规则代替:

RewriteRule ^friends/([^/]*)/?(.*)$ friends.php?name=$1&page=$2
希望这有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接