我正在尝试编写这个简单的重写规则,但这种规则并不像我希望的那样工作。我有这个网址:http://domain.com/fr/some_city/我想重写为http://domain.com/fr/properties?city=1234
这是我的重写规则:
RewriteRule ^some_city$ proprietes?city=1234 [NC,L]
在结果页面中,$_GET['city']
答案 0 :(得分:0)
您的正则表达式仅在路径完全some_city
而不是fr/some_city
时匹配。
您必须在规则之前添加RewriteBase
,但如果您的htaccess中有其他规则,则可能会导致问题。
RewriteBase /fr/
RewriteRule ^some_city$ proprietes?city=1234 [NC,L]
另一种选择是重写规则以了解语言:
RewriteRule ^/(.*)/some_city$ /$1/proprietes?city=1234 [NC,L]
答案 1 :(得分:0)
终于修好了!如果它可以帮助其他任何人:
当我查看PATH_INFO时,我注意到PHP正在以CGI身份运行,所以将cgi.fix_pathinfo = 0添加到php.ini修复它。