我有一个2种语言的网站。我通过php常量插入每种语言的文本,并通过cookie(lang=es
或lang=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]
在它之后,它可以工作,但我不知道如何通过重写来做同样的事情。
答案 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 /