Estou com um problema muito chato:
nosso servidor web lida com 2 (mais na verdade, mas digamos 2 para um exemplo mais simples):
- pretassur.fr
- pretassuragentimmobilier.fr
Aqui está o que eu quero fazer: mudar
(whatever1).pretassuragentimmobilier.fr(/whatever2)
para
(whatever1).pretassur.fr(/whatever2)?theme=agentimmobilier
Então aqui está minha reescrita:
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]
O grande (enorme) problema é: vamos dar uma olhada nos logs de reescrita:
[pretassurmandataireimmo.com] (5)
=> setting env variable 'THEME' to 'pretassur_mandataire'
[pretassurmandataireimmo.com]
=> (2) implicitly forcing redirect (rc=302) with http://pretassur.fr/
Aaaaaaaaaarg! "forçando implicitamente o redirecionamento" => Não quero isso! Eu querointernamenteredirecionar para pretassur.fr, não para fazer um redirecionamento real!
Agora se você digitar:http://pretassurmandataireimmo.comele é redirecionado parahttp://pretassur.fr/?IDP=pretassur_mandataire(experimente) Eu não quero isso! Quero exibir esta páginahttp://pretassur.fr/?IDP=pretassur_mandatairemas sem tocar no host original!
Qualquer ideia?
Muito obrigado!
Responder1
Mesmo que estejam no mesmo servidor, você não pode fazer redirecionamentos internos entre dois vhosts diferentes. Daí o redirecionamento externo (302).
Para realizar o que deseja você pode usar a opção "'proxy|P' (forçar proxy)".