我的所有网址都可以附加?lang=xx
,但我不想重写所有htaccess
规则,所以我想抓住这个参数并在可用时附加。
我已尝试将参数保存到变量MYLANG
,如下所示,但不起作用:
SetEnv MYLANG %{QUERY_STRING} ^lang=([a-zA-Z]{2})$
这是另一项无效的尝试:
RewriteCond %{QUERY_STRING} ^lang=([a-zA-Z]{2})$
SetEnv MYLANG %1
另一次尝试:
RewriteCond %{QUERY_STRING} ^lang=([a-zA-Z]{2})$
RewriteRule ^ - [env=MYLANG:%1]
然后我可以在规则中使用捕获的变量:
RewriteRule ^(.*).html$ /?name=$1&lang=%{ENV:MYLANG} [NC,L]
或者
RewriteRule ^(.*).html$ /?name=$1 [NC,L,E=MYLANG]
答案 0 :(得分:1)
好主意。你的第三次尝试:
RewriteCond %{QUERY_STRING} ^lang=([a-zA-Z]{2})$
RewriteRule ^ - [env=MYLANG:%1]
应该可以正常工作。
答案 1 :(得分:1)
我从未使用它,但在我看来就是这样:
{{1}}