我们有一个 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
干杯
答案1
这可以通过使用能够重写链接的 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>