1
我有双语网站。 用户应根据浏览器语言自动重定向至相应的子目录/en/
和/de/
。我通过.htaccess实现了这一点。基于设置的cookie重定向
如果用户希望切换语言,则该网站是一个语言切换器。当语言切换时,会有一个cookie集,其中包含值en
或de
。
现在我想我的htaccess检查是否有cookie集,如果是:检查值并重定向到适当的文件夹。如果没有:检查浏览器语言并重定向到适当的文件夹。
这是我迄今为止,但它给了我一个错误:重定向过多...
RewriteEngine on
RewriteCond %{HTTP_COOKIE} Test=en; [NC]
RewriteRule^http://example.com/en [L,R=301]
RewriteCond %{HTTP_COOKIE} Test=de; [NC]
RewriteRule^http://example.com/de [L,R=301]
RewriteCond %{HTTP:Accept-Language} ^de [NC]
RewriteRule ^$ http://example.com/de [L,R=301]
RewriteRule ^$ http://example.com/en [L,R=301]
这是生成的Cookie代码:
if (session_id() == '') {
session_start();
}
$lang = basename ($_SERVER['REQUEST_URI']);
setcookie("Test", $lang);
啊,谢谢你的提示!我现在得到的是类似于http://example.com/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/en/ en/en/en/en' ... – user1706680
我用生成cookie的代码更新了我的问题。也许这有帮助。 – user1706680