我想检查URL是否包含刺痛“-EN.htm”,如果是,则应用重写。
这应该用^ -EN.htm完成,如下所示,但规则不起作用:
RewriteCond %{REQUEST_URI} ^/(.*?)/([-_0-9a-zA-Z./=]*)^-EN.htm
RewriteRule ^(.*)$ /indexEN.php?folder=%1&follow=%2 [L]
我做错了什么?
感谢您的帮助,
斯科特
答案 0 :(得分:0)
你的正则表达式看起来不正确。您也可以丢失条件,只需将模式移动到重写规则。
的内容RewriteRule ^/?(.*?)/([-_0-9a-zA-Z./=]*)^-EN.htm /indexEN.php?folder=$1&follow=$2 [L]
你需要使前导斜杠可选(在htaccess中被删除)而不是使用%反向引用,使用 $ 。
现在你的模式,它是无效的。 ^
匹配字符串的开头(URI),因此,如果您有两个并且您没有尝试字面匹配^
字符(您需要转义),然后表达式永远不会匹配任何东西。如果没有您需要处理的任何URL示例,我假设您可能只想放弃第二个^
:
RewriteRule ^/?(.*?)/([-_0-9a-zA-Z./=]*)-EN.htm /indexEN.php?folder=$1&follow=$2 [L]