我在我的站点.htaccess文件中使用了一些mod-rewrite代码,将浏览器语言设置为各种语言的用户重定向到我的站点的不同版本。这是行之有效的 - 但是...我需要一种方式来覆盖这些重写规则,当用户想要查看主要的英文版本,而不是他们会根据浏览器的语言设置自动重定向到的版本。htaccess mod-rewrite语言覆盖
因此,例如,用户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]
任何想法?
干杯,
向查询中添加一个参数并检查您的重写规则。在Accept-Language头部使用查询参数,并且瞧。 – Murf
Thanks @Murf - 代码建议/链接的任何机会 - htaccess代码对我来说是新的//感谢 – dubbs
任何有关如何实现此目的的任何想法? – dubbs