这就是我所拥有的,但它不起作用。
RewriteRule ^location/([a-zA-Z0-9_-]+)/reviews$ location.php?purl=$1&page=reviews [L]
RewriteRule ^location/([a-zA-Z0-9_-]+)/reviews/$ location.php?purl=$1&page=reviews [L]
有谁能告诉我我做错了什么?
http://www.example.com/this-location-1234/reviews/至http://www.example.com/location.php?purl=this-location-1234&page=review
答案 0 :(得分:1)
您应该将这两个(几乎相同的)规则组合在一起,并确保您拥有RewriteEngine on
并且您的规则正在运行(您的.htaccess正在被提取,或者您在活动的vhost定义中拥有此规则)。
RewriteEngine on
RewriteRule ^location/([a-zA-Z0-9_-]+)/reviews/?$ location.php?purl=$1&page=reviews [L]
答案 1 :(得分:1)
我认为这应该适用于您提供的示例网址:
RewriteRule ^([a-zA-Z0-9_-]+)/reviews/?$ location.php?purl=$1&page=reviews [L]
(用这个替换两个重写规则)
如果您还没有,请在此RewriteRule之前添加RewriteEngine on
。
如果您确实想要重写/location/this-location-1234/reviews/
而不是/this-location-1234/reviews/
,请使用以下内容:
RewriteRule ^location/([a-zA-Z0-9_-]+)/reviews/?$ location.php?purl=$1&page=reviews [L]
答案 2 :(得分:1)
我修好了。我不小心在链接中遗漏了一些错误。
RewriteRule ^location/([a-zA-Z0-9_-]+)/reviews/?$ location.php?purl=$1&page=reviews [L]
这很棒!
答案 3 :(得分:0)
我假设您的conf文件中有另一个名为RewriteEngine的属性? 此外,您可以使用RewriteLogLevel打开日志记录。