2013-06-03 28 views
1

我有一個多語言網站,我需要根據cookie值更改URL。基於cookie值的mod_rewrite

例如,我有$_COOKIE["lang"] = "en",我想將網址更改爲www.mydomain.com/en/rest/of/the/urlen.mydomain.com/rest/of/the/url

我該怎麼做?

+0

您使用哪種服務器端語言? PHP? AFAIK,mod_rewrite無法讀取cookie。 –

+0

我使用PHP。那麼有什麼選擇如何通過PHP來完成? –

+1

不錯,它*可以用mod_rewrite完成 - 請參閱Maxim的答案。 –

回答

1

使用任何一種可用的重定向。在香草php中,你可以使用header()

mod_rewrite是一個基於web服務器的指令,它在你的php腳本有機會啓動之前工作良好,而且絕對不能觸及cookie。

更新:實際上,您可以使用來自mod_rewrite的cookies(實用鏈接here,官方文檔here)。 但是,我不會推薦它,因爲它可能會毀掉代碼調試 - 很少有人會考慮在.htaccess中查找基於cookie的重定向。

+1

+1,但你有點不正確:你可以在mod_rewrite指令中讀取cookie字符串。在OP的情況下,一個簡單的正則表達式可以做到這一點。 –

+0

認真嗎?好吧,我會......我的壞。現在編輯回覆... –