.htacces由cookie值重写

时间:2015-06-17 08:45:06

标签: apache .htaccess mod-rewrite cookies url-rewriting

我有一个2种语言的网站。我通过php常量插入每种语言的文本,并通过cookie(lang=eslang=en)定义用户语言。
现在每种语言的基本网址都是www.webname.com/,但我想根据语言重写它。如果Cookie设置为es,则网址必须为www.webname.com/es/,而en中的网址必须为www.webname.com/en/。 我正在查看一些手册和教程,但我对正则表达式非常糟糕。

编辑: 我正在我的.htaccess文件中处理类似的事情:

RewriteEngine On
RewriteCond %{HTTP_COOKIE} lang=en;? [NC]

如果我进行重定向,例如:
RewriteRule ^ http://www.google.com [NC,L]
在它之后,它可以工作,但我不知道如何通过重写来做同样的事情。

1 个答案:

答案 0 :(得分:2)

试试这个:

 RewriteEngine On 
 #Redirecting with the cookie value
 RewriteCond %{HTTP_COOKIE} ^lang=(en|es)$ [NC] 
 RewriteRule ^(.*)$ http://example.com/%1/$1 [R,L] 

如果cookie设置为“en”,则会将每个请求重定向到     example.com/en /