我有一個多語言網站,我需要根據cookie值更改URL。基於cookie值的mod_rewrite
例如,我有$_COOKIE["lang"] = "en"
,我想將網址更改爲www.mydomain.com/en/rest/of/the/url
或en.mydomain.com/rest/of/the/url
。
我該怎麼做?
我有一個多語言網站,我需要根據cookie值更改URL。基於cookie值的mod_rewrite
例如,我有$_COOKIE["lang"] = "en"
,我想將網址更改爲www.mydomain.com/en/rest/of/the/url
或en.mydomain.com/rest/of/the/url
。
我該怎麼做?
使用任何一種可用的重定向。在香草php中,你可以使用header()。
mod_rewrite是一個基於web服務器的指令,它在你的php腳本有機會啓動之前工作良好,而且絕對不能觸及cookie。
更新:實際上,您可以使用來自mod_rewrite的cookies(實用鏈接here,官方文檔here)。 但是,我不會推薦它,因爲它可能會毀掉代碼調試 - 很少有人會考慮在.htaccess中查找基於cookie的重定向。
+1,但你有點不正確:你可以在mod_rewrite指令中讀取cookie字符串。在OP的情況下,一個簡單的正則表達式可以做到這一點。 –
認真嗎?好吧,我會......我的壞。現在編輯回覆... –
您使用哪種服務器端語言? PHP? AFAIK,mod_rewrite無法讀取cookie。 –
我使用PHP。那麼有什麼選擇如何通過PHP來完成? –
不錯,它*可以用mod_rewrite完成 - 請參閱Maxim的答案。 –