2015-06-17 79 views
1

我有2種語言的網站。我通過php常量插入每種語言的文本,並通過cookie定義用戶語言(lang=eslang=en)。
現在每種語言的基本網址是www.webname.com/但我想根據語言重寫它。如果Cookie設置爲es,則網址必須爲www.webname.com/es/,如果它位於en必須爲www.webname.com/en/
我正在尋找一些手冊和教程,但我真的非常糟糕的正則表達式。。通過cookie重寫.htacces

編輯: 我的工作在我的.htaccess文件類似的東西:

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

如果我把像一個重定向:
RewriteRule^http://www.google.com [NC,L]
後,它作品,但我不知道如何做同樣的改寫。

回答

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/

+0

我與你的代碼工作。我理解它,我認爲它必須工作,但事實並非如此。只是它不會重寫URL中的任何內容。 我已經刪除了htaccess文件中的任何其他類型的代碼,以防萬一,但它仍然無法正常工作。 – Hartorell

+1

好的。我刪除了'^ lang =(en | es)$'的'^',現在它就起作用了。謝謝。 – Hartorell