我有两个版本的同一页面:
我希望访问mydomain.com的法国人能够根据标题Accept-language重定向到mydomain.com/fr。为此,我把它写进了我的.htaccess:
RewriteCond %{HTTP:Accept-Language} ^fr [NC]
RewriteRule ^$ http://example.com/fr/ [L,R=301]
到目前为止,我的工作非常完美。
但是在我的网站上有法语/英语版本的链接...当一个法语版本的法国用户点击英文链接时,他回到法语版本......我怎么能避免这个? 我如何区分他实际上想要使用英文版?
答案 0 :(得分:2)
建议可能是包含指向页面顶部的链接 - 例如,每个链接指向不同的页面; FR - mydomain.com/fr,ENG-mydomain.com/eng
根据网站的背景情况 - 我会将网站的法语版或英文版设为默认版本。
答案 1 :(得分:2)
您可以将查询字符串上的参数添加到内部语言链接,以防止在用户单击指向特定语言的链接时发生正常的语言重定向。
然后在你的.htaccess中添加一个额外的RewriteCond来检查用户是否点击了内部链接:
RewriteCond %{QUERY_STRING} !(nolangredirect=1)
因此,如果法国用户点击www.example.com/en/index.html?nolangredirect=1
,他们就不会被重定向到法语版本。
如果您希望他们下次回到网站时看到英文版,您需要使用cookies。