我需要的是使用htaccess重定向已经包含一些谷歌分析参数的网址,并重定向它在网址末尾添加语言参数。到目前为止,我试过这个没有运气,但我知道它在某些方面是错误的:
RewriteCond %{HTTP:Accept-Language} ^fr [NC]
RewriteRule ^random?$1 http://www.domain.com/random?$1&language=french [R=301,QSA]
我尝试1美元,我不知道这是否正确,其目的是包括所有参数,如utm_source = 1& utm_medium = 2,之后我需要包括语言参数,因此重定向的网址应该看起来像http://www.domain.com/random?utm_source=1&utm_medium=2&language=french。
达到我需要的正确方法是什么?
提前谢谢。
答案 0 :(得分:0)
返回引用强>
在您的规则中,$1
是对尚未存在的捕获组的反向引用。
请改为尝试:
RewriteCond %{HTTP:Accept-Language} ^fr [NC]
RewriteCond %{QUERY_STRING} !^.*language=french
RewriteRule ^(random.*) $1?language=french [R=301,QSA,L]
^
,(random.*)
匹配random
和网址的其余部分。 (所以我们只重写以random
开头的网址...是你想要的?)$1
重写,然后是查询字符串?language=french
QSA
标志确保添加现有的查询字符串参数。