Apache-2.2
Apache 伺服器重寫規則:如何避免“隱式強制重定向 (rc=302)”?
我有一個非常煩人的問題:
我們的網路伺服器處理 2(更實際,但我們說 2 作為一個更簡單的例子):
- pretassur.fr
- pretassuragentimmobilier.fr
這就是我想要做的:改變
(whatever1).pretassuragentimmobilier.fr(/whatever2)
到
(whatever1).pretassur.fr(/whatever2)?theme=agentimmobilier
所以這是我的重寫:
RewriteCond %{SERVER_NAME} (([a-z]+\.)*)pretassuragentimmobilier.(fr|com) RewriteRule ^(.+) http://%1pretassur.fr$1 [E=THEME:pretassur_agent,QSA] # if THEME not empty, set it : RewriteCond %{ENV:THEME} ^(.+)$ RewriteRule (.*) $1?IDP=%{ENV:THEME} [QSA]
大(巨大)問題是:讓我們看看重寫日誌:
[pretassurmandataireimmo.com] (5) => setting env variable 'THEME' to 'pretassur_mandataire' [pretassurmandataireimmo.com] => (2) implicitly forcing redirect (rc=302) with http://pretassur.fr/
啊啊啊啊!“隱式強制重定向” => 我不想要那個!我想在內部重定向到 pretassur.fr,而不是進行真正的重定向!
現在,如果您輸入:http ://pretassurmandataireimmo.com ,它會被重定向到http://pretassur.fr/?IDP=pretassur_mandataire(試試看)我不想要那個!我想顯示此頁面http://pretassur.fr/?IDP=pretassur_mandaaire但不觸及原始主機!
任何的想法?
非常感謝!
即使它們在同一台伺服器上,您也無法在兩個不同的虛擬主機之間進行內部重定向。因此外部(302)重定向。
要完成您想要的,您可以使用“‘proxy|P’(強制代理)”選項。