相关疑难解决方法(0)

如何在mod_rewrite规则中保留现有查询字符串

我正在尝试从以下位置重写网址:

http://domain.com/aa/whatever/whatever.php

http://domain.com/whatever/whatever.php?language=aa

但是,根据现有的$ _GET变量,它必须是?language或&language.

为此,我使用带有[L]标志的2个正则表达式:

RewriteRule ^([a-z]{2})/(.*\.php\?.*) /$2&language=$1 [L]
RewriteRule ^([a-z]{2})/(.*) /$2?language=$1 [L]
Run Code Online (Sandbox Code Playgroud)

第二个按预期工作......然而,第一个没有被击中(它落到第二个正则表达式,确实命中),即使Regex Coach确实告诉我它应该.

编辑:

如果只是读到我需要使用两个反斜杠来逃避问号.如果我这样做,它确实击中了第一个正则表达式但从未找到其他GET变量.

regex .htaccess mod-rewrite

4
推荐指数
1
解决办法
2282
查看次数

标签 统计

.htaccess ×1

mod-rewrite ×1

regex ×1