gpt4 book ai didi

html - .htaccess 重写/接受语言

转载 作者:行者123 更新时间:2023-11-28 01:09:57 25 4
gpt4 key购买 nike

以下问题:我在子文件夹中有 2 个 html 网站,一个是英文网站,一个是德文网站。我使用 .htaccess 重写规则根据用户的语言重定向到正确的站点:

RewriteCond %{HTTP:Accept-Language} ^de [NC]
RewriteRule ^$ http://example.com/ [L,R=301]

这是英文版子文件夹下.htaccess中的代码。当德国用户想要查看页面的英文版时,问题就出现了,他总是被重定向到德文版。

有没有办法在第一次访问时重定向用户,但是当他点击德语页面上的超链接 English 时,他可以看到英文版本,而不会再次被重定向到德国网站?

mod-rewrite 可用,但我只需要重定向一次(第一次访问时),当用户单击特定超链接时,他不会再次重定向?

最佳答案

只是一个想法,如果你有两个子目录,例如deen,您可以根据 Accept-Language header 重写而不是重定向。但如果浏览器请求包含语言前缀的显式路径,则不会被重定向。

您可以尝试这些(未经测试的!)规则

RewriteRule ^en/ - [L]
RewriteRule ^de/ - [L]

RewriteCond %{HTTP:Accept-Language} ^de [NC]
RewriteRule ^ /de%{REQUEST_URI} [L]

RewriteCond %{HTTP:Accept-Language} ^en [NC]
RewriteRule ^ /en%{REQUEST_URI} [L]

另一种方法是设置一个 cookie,当用户决定使用一种语言时,并根据这个 cookie 传送页面。

关于html - .htaccess 重写/接受语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38158156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com