简单的重写规则

时间:2014-05-22 15:51:07

标签: .htaccess mod-rewrite expressionengine

我正在尝试编写这个简单的重写规则,但这种规则并不像我希望的那样工作。我有这个网址:http://domain.com/fr/some_city/我想重写为http://domain.com/fr/properties?city=1234

这是我的重写规则:

RewriteRule   ^some_city$   proprietes?city=1234  [NC,L]

在结果页面中,$_GET['city']

中没有任何内容

2 个答案:

答案 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修复它。