我的网站根目录en和te中有两个文件夹。 我需要编写.htaccess文件,如果cookie语言= en,将请求重定向到en / 或重定向到/ te of if language!= en或cookie语言未设置。
RewriteEngine On
RewriteBase /cookie/
RewriteCond %{HTTP_COOKIE} language=te [NC]
RewriteRule ^(.*)$ /te [L]
但上面的代码无效
答案 0 :(得分:1)
不确定是否要重定向用户,或在内部重写网址(删除R = 301):
RewriteEngine On
RewriteCond %{HTTP_COOKIE} language=(en|te) [NC]
RewriteCond %{REQUEST_URI} !^/(te|en)/ [NC]
RewriteRule ^(.*)$ /%1/$1 [R=301,L]
答案 1 :(得分:0)
您的代码不会重定向用户,因为您遗漏了相应的重写标记。相反,它只会在不更改URL的情况下重写请求(在服务器上静默)。
将您的规则更改为:
RewriteRule ^(.*)$ /te/$1 [R=301]
(您也没有将页面的路线附加到语言键 - 我还附加了$1
。)