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

Apache .htaccess基于cookie重定向到子订单,apache,.htaccess,web,Apache,.htaccess,Web,我的网站根目录en和te中有两个文件夹。 我需要编写.htaccess文件,将请求重定向到en/如果cookie语言=en 或重定向到if语言的/te=未设置en或cookie语言 RewriteEngine On RewriteBase /cookie/ RewriteCond %{HTTP_COOKIE} language=te [NC] RewriteRule ^(.*)$ /te [L] 但是上面的代码不起作用您的代码不会重定向用户,因为您遗漏了相应的重写标志。相反,它将只重写请求(在

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

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

但是上面的代码不起作用

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

将规则更改为:

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

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

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


欢迎来到SO。如果以下答案之一解决了您的问题,您应该接受它(单击相应答案旁边的复选标记)。这有两件事。它让每个人都知道你的问题已经解决了,并让帮助你的人相信你的帮助。
RewriteEngine On

RewriteCond %{HTTP_COOKIE} language=(en|te) [NC]
RewriteCond %{REQUEST_URI} !^/(te|en)/ [NC]
RewriteRule ^(.*)$ /%1/$1 [R=301,L]