[英]htaccess redirect to a specific url on same domain (without looping)
我真的希望您能帮助我(这使我发疯)。 我尝试了数十种设置,但似乎没有任何效果,Google晕眩了我,并尝试了许多不同的设置,但这一切似乎都导致循环或服务器错误。
这是需要发生的事情:
我有一个附加了多个域的网站。 我需要的是,当有人通过“ domain.co.uk”域访问该网站时,将重定向到正确的语言参数(以及其他参数)。
具体而言:通过“ www.domain.co.uk”访问时,访问者必须重定向到“ www.domain.co.uk?lang=en&noredir=1¤cy=3”
我确保www带有以下内容:
RewriteCond %{HTTP_HOST} !^www.domain.co.uk$ [NC]
RewriteRule ^(.*)$ http://www.domain.co.uk/$1 [L,R=301]
问题是(我认为)同一域内的重定向而不引起循环。
我已经尝试过类似的事情,但是没有结果:
RewriteCond %{HTTP_HOST} ^www.domain.co.uk$
RewriteRule ^$ http://www.domain.co.uk/?lang=en&noredir=1¤cy=3 [L,R=301]
希望您能提供帮助,
干杯!
这将导致循环:
RewriteCond %{HTTP_HOST} ^www.domain.co.uk$
RewriteRule ^$ http://www.domain.co.uk/?lang=en&noredir=1¤cy=3 [L,R=301]
因为您只检查主机头。 每次触发重定向时,它将以www.domain.co.uk
的主机标头返回服务器,然后再次重定向。 您还需要检查查询字符串,仅在它与您发送的内容不匹配时才进行重定向:
RewriteCond %{HTTP_HOST} ^www.domain.co.uk$
RewrteCond %{QUERY_STRING} !lang=en&noredir=1¤cy=3
RewriteRule ^$ http://www.domain.co.uk/?lang=en&noredir=1¤cy=3 [L,R=301]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.