Reescrita básica do Apache

Reescrita básica do Apache

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 exampleBdomínio. ProxyPassReverselidaria com 30xredirecionamentos:

ProxyPassReverse / http://exampleB.com/

Mas qualquer outra coisa no conteúdo pode apontar exampleB.com, incluindo conteúdo HTML (que mod_proxy_htmlpode 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.

informação relacionada