我有一个非常烦人的问题:
我们的网络服务器处理 2 个(实际上更多,但为了便于举例,我们假设为 2 个):
- 普雷塔苏尔
- 预塔苏拉根特移动公司
我想要做的是:改变
(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/
Aaaaaaaaarg!“隐式强制重定向”=> 我不要那个!我想要内部重定向到 pretassur.fr,而不是进行真正的重定向!
现在如果你输入:http://pretassurmandataireimmo.com它被重定向到http://pretassur.fr/?IDP=pretassur_mandataire(尝试一下)我不想要这个!我想显示此页面http://pretassur.fr/?IDP=pretassur_mandataire但无需接触原始宿主!
任何想法?
多谢!
答案1
即使它们位于同一台服务器上,您也无法在两个不同的虚拟主机之间进行内部重定向。因此需要进行外部 (302) 重定向。
为了实现您想要的目标,您可以使用“'proxy|P'(强制代理)”选项。