Назад | Перейти на главную страницу

прокси-сервер apache для другого домена с относительными путями

У нас есть виртуальный хост apache www.example.com, теперь я пытаюсь получить www.example.com/mypath, чтобы загрузить страницы с

www.example1.com с использованием mod_poxy у меня есть с базой

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

однако ссылка на www.example1.com все <a href='/xxx/xx'>example link</a>

поэтому, когда они возвращаются на www.example.com/mypath, это www.example.com/xxx/xx, как я могу заставить их быть www.example.com/mypath/xxx/xx

ура

Это может быть достигнуто с помощью mod_proxy_html, который может переписывать ссылки. Обычно это не проблема, если на вашей веб-странице используются относительные пути.

С установленным модулем вы можете использовать конфигурацию, аналогичную этой

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>

Вы можете узнать больше о mod_proxy_html Вот и Вот