apache mod proxy para outro domínio com caminhos relativos

3

Temos um host virtual do Apache, www.example.com, agora estou tentando obter www.example.com/mypath para carregar as páginas de

www.example1.com usando mod_poxy eu tenho isso com uma base

ProxyPass /mypath http://www.example1.com
ProxyPassReverse /mypath http://www.example1.com

no entanto, o link em www.example1.com é todo <a href='/xxx/xx'>example link</a>

para que eles voltem para www.example.com/mypath, eles são www.example.com/xxx/xx Como posso obtê-los para ser www.example.com/mypath/xxx/xx

felicidades

    
por Stephen Smithstone 10.11.2010 / 18:56

1 resposta

2

Isto pode ser conseguido usando mod_proxy_html que é capaz de reescrever links. Geralmente, isso não seria um problema se a sua página estivesse usando caminhos relativos.

Com o módulo instalado, você pode usar uma configuração semelhante a esta

LoadModule proxy_module      modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule headers_module    modules/mod_headers.so
LoadFile   /usr/lib/libxml2.so
LoadModule proxy_html_module modules/mod_proxy_html.so
LoadModule xml2enc_module modules/mod_xml2enc.so

# Disable Proxy Requests since this is not a forward proxy
ProxyRequests off


ProxyPass /mypath/ http://www.example1.com/
ProxyHTMLURLMap http://www.example1.com /mypath

<Location /mypath/>
        ProxyPassReverse /
        ProxyHTMLEnable On
        ProxyHTMLURLMap  /      /mypath/

        # You cannot rewrite gzip compressed streams
        RequestHeader    unset  Accept-Encoding
</Location>

Você pode ler mais sobre mod_proxy_html aqui e aqui

    
por 10.11.2010 / 20:03