.htaccess基于cookie重定向到子订单

时间:2013-07-06 06:40:28

标签: apache .htaccess web

我的网站根目录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]

但上面的代码无效

2 个答案:

答案 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。)