我在我的站点.htaccess文件中使用一些mod重写代码来将浏览器语言设置为不同语言的用户重定向到我的站点的不同版本。效果很好-但是.我需要一种能够覆盖这些重写规则的方法,当用户想要查看主英文版时,而不是根据浏览器的语言设置自动重定向到的版本。
例如,用户A的浏览器语言设置为韩语,他们访问example.com站点-重写规则将其设置为韩语并将其移动到example.co.kr -在example.co.kr上有一个按钮-向我展示该网站的英文版本(链接到example.com) -然后链接回example.com.但是目前,当重写脚本重燃时,重定向回example.co.kr ..。
当我也想要重写脚本时,我如何编码重写脚本以允许覆盖规则强制它停留在example.com站点上?
重写我的代码是:
RewriteEngine On
RewriteBase /
#RewriteCond %{HTTP:Accept-Language} ^en [NC]
#RewriteRule ^$ https://example.com/ [L,R=301]
RewriteCond %{HTTP:Accept-Language} ^ko [NC]
RewriteRule ^$ https://example.co.kr/ [L,R=301]
RewriteCond %{HTTP:Accept-Language} ^pt [NC]
RewriteRule ^$ https://example.com/br/ [L,R=301]
RewriteCond %{HTTP:Accept-Language} ^pt-PT [NC]
RewriteRule ^$ https://example.com/br/ [L,R=301]
RewriteCond %{HTTP:Accept-Language} ^pt-BR [NC]
RewriteRule ^$ https://example.com/br/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(|ko|pt|pt-PT|pt-BR)/?$ https://example.com/ [QSA,NC,L]
有什么想法吗?
干杯,
发布于 2017-04-27 12:10:35
您需要修改规则以查找特殊的查询参数,例如,如下所示的notKO
:
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} !notKO [NC]
RewriteCond %{HTTP:Accept-Language} ^en [NC]
RewriteRule ^$ https://example.com/ [L,R=301]
RewriteCond %{QUERY_STRING} !notKO [NC]
RewriteCond %{HTTP:Accept-Language} ^ko [NC]
RewriteRule ^$ https://example.co.kr/ [L,R=301]
RewriteCond %{QUERY_STRING} !notKO [NC]
RewriteCond %{HTTP:Accept-Language} ^pt [NC]
RewriteRule ^$ https://example.com/br/ [L,R=301]
RewriteCond %{QUERY_STRING} !notKO [NC]
RewriteCond %{HTTP:Accept-Language} ^pt-PT [NC]
RewriteRule ^$ https://example.com/br/ [L,R=301]
RewriteCond %{QUERY_STRING} !notKO [NC]
RewriteCond %{HTTP:Accept-Language} ^pt-BR [NC]
RewriteRule ^$ https://example.com/br/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(|ko|pt|pt-PT|pt-BR)/?$ / [NC,L]
现在,您需要开始在单击?notKO
按钮上发送show me abc version of this website
查询参数。
测试此更改之前,请清除浏览器。
https://stackoverflow.com/questions/43632553
复制相似问题