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

问题描述 投票:9回答:1

我无法重写以包括两个参数,但是最后一个参数是可选的,所以例如:

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.,但是如果我为第二个参数包括页码,则可以使用,因此基本上第二个参数应该是可选的。

.htaccess mod-rewrite url-parameters
1个回答
22
投票

尝试改用此规则:

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

希望有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.