我最近發現了mod_rewrite模塊的強大功能,我需要一些幫助。mod_rewrite:根據HTTP_HOST設置GET
說我有一個網站,該網站有兩個域名映射到同一主機...
example.com
example.net
而且我想設置取決於該HTTP_HOST一個GET VAR(即.com或.net ?)...
/index.php?lang=en
/index.php?lang=es
然而,需要注意的是這個..我已經有了3周的RewriteRules ...
RewriteRule ^(about|contact)/?$ /index.php?page=$1 [NC]
...
..
如果我我們將通過here(RewriteCond的底部)來仿效這個例子,我將不得不爲每個HTTP_HOST複製3個RewriteRules。 .com或.net)並添加GET變量靜態像; & LANG = EN或& lang = es編輯和每個規則的結尾......
有,而無需通過在剛一個送無功一遍,只有不同的複製3分的規則自動一些方法來做到這一點結束?
PS。我知道這可以通過腳本語言完成,但我想知道這是否可以通過mod_rewrite完成,以及如何。
thanx!
我會檢查出QSA旗..看起來很有希望。 – 2009-08-27 18:09:27
雖然代碼的幫助很大,但它本身沒用。因爲apache會繼續將每個頁面重定向到?lang = en | es,即使已經設置了它,你也將被無限遞歸。 因此,在之前添加以下行:RewriteCond%{QUERY_STRING}!(lang =(zh-cn)) 如果已經設置,它將不會重定向到?lang = en | es) – 2009-08-27 18:45:52
除非您稍後重新啓動規則重寫過程,否則不應該有任何無限遞歸。從你的問題,我相信你沒有這樣做。 – 2009-08-27 19:54:19