0

我的网站根目录 en 和 te 中有两个文件夹。我需要编写 .htaccess 文件,将请求重定向到 en/ 如果 cookie language=en 或重定向到 /te of if language!=en 或未设置 cookie 语言。

RewriteEngine On
RewriteBase /cookie/
RewriteCond %{HTTP_COOKIE} language=te [NC]
RewriteRule ^(.*)$ /te [L]

但上面的代码不起作用

4

2 回答 2

1

不确定您是要重定向用户,还是在内部重写 url(删除 R=301):

RewriteEngine On

RewriteCond %{HTTP_COOKIE} language=(en|te) [NC]
RewriteCond %{REQUEST_URI} !^/(te|en)/ [NC]
RewriteRule ^(.*)$ /%1/$1 [R=301,L]
于 2013-07-06T07:04:43.163 回答
0

您的代码不会重定向用户,因为您遗漏了适当的重写标志。相反,它只会重写请求(在服务器上静默地)而不更改 url。

将您的规则更改为:

RewriteRule ^(.*)$ /te/$1 [R=301]

(您也没有将页面的路由附加到语言键 - 我还附加了$1.)

于 2013-07-06T07:00:50.150 回答