
Digamos que eu tenha exampleA.com e exampleB.com. Se eu desejar reescrever em um servidor web Apache de websiteA.com para websiteB.com, como quando digito exampleA.com em um navegador, ele manterá o URL e me mostrará o conteúdo carregado como se eu estivesse navegando para exampleB.com, como eu faria isso como uma adição direta de host virtual?
Minha pesquisa sugere algo como:
RewriteRule /some/url(.*) http://exampleB.com/some/url$1 [P,L]
Mas o que não estou familiarizado é a relevância da parte "/some/url", já que não desejo reescrever apenas URIs específicos, mas todo o domínio.
Da mesma forma, se eu navegar para exampleA.com/test.htm, ele deverá renderizar o que estiver em exampleB.com/test, com o navegador dizendo "exampleA.com/test" o tempo todo.
Responder1
Para que essa regra se aplique a todo o domínio, você desejaria.
RewriteRule /(.*) http://exampleB.com/$1 [P,L]
Que é basicamente a mesma coisa que:
ProxyPass / http://exampleB.com/
Lembre-se de que há muitas coisas que podem direcionar o navegador do usuário para o exampleB
domínio. ProxyPassReverse
lidaria com 30x
redirecionamentos:
ProxyPassReverse / http://exampleB.com/
Mas qualquer outra coisa no conteúdo pode apontar exampleB.com
, incluindo conteúdo HTML (que mod_proxy_html
pode ajudar), javascript, CSS, etc.
Responder2
Você não pode.
Se você deseja manter o URL original, você precisa realmente fazer proxy (procurar ProxyPass) exampleb via examplea ou usar algum tipo de travessura de frames.