首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >重写语言重写

重写语言重写
EN

Stack Overflow用户
提问于 2017-04-26 11:12:31
回答 1查看 158关注 0票数 1

我在我的站点.htaccess文件中使用一些mod重写代码来将浏览器语言设置为不同语言的用户重定向到我的站点的不同版本。效果很好-但是.我需要一种能够覆盖这些重写规则的方法,当用户想要查看主英文版时,而不是根据浏览器的语言设置自动重定向到的版本。

例如,用户A的浏览器语言设置为韩语,他们访问example.com站点-重写规则将其设置为韩语并将其移动到example.co.kr -在example.co.kr上有一个按钮-向我展示该网站的英文版本(链接到example.com) -然后链接回example.com.但是目前,当重写脚本重燃时,重定向回example.co.kr ..。

当我也想要重写脚本时,我如何编码重写脚本以允许覆盖规则强制它停留在example.com站点上?

重写我的代码是:

代码语言:javascript
运行
复制
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]

有什么想法吗?

干杯,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-27 12:10:35

您需要修改规则以查找特殊的查询参数,例如,如下所示的notKO

代码语言:javascript
运行
复制
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查询参数。

测试此更改之前,请清除浏览器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43632553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档