我有
# For blog
LoadModule proxy_html_module libexec/mod_proxy_html.so
LoadModule ssl_module libexec/mod_ssl.so
LoadModule xml2enc_module libexec/mod_xml2enc.so
SSLProxyEngine on
ProxyRequests off
ProxyPass /blog https://xxxx.wordpress.com
ProxyPassReverse /blog https://xxxx.wordpress.com
ProxyHTMLEnable On
ProxyHTMLURLMap https://xxxx.wordpress.com /blog
<Location /blog>
ProxyPassReverse /
ProxyHTMLEnable On
ProxyHTMLURLMap / /blog
RequestHeader unset Accept-Encoding
#LogLevel proxy:debug
</Location>
遵循这些指南:
http://www.apachetutor.org/admin/reverseproxies
https://httpd.apache.org/docs/trunk/mod/mod_proxy.html
当我访问 URL 时http://www.xxxx.com/blog/它不能替代锚链接https://xxxx.wordpress.com/2015/09/16/hello-world/与/blog。
它在本地可以运行,但不能在生产中使用。
以下是通过代理并出现在浏览器中的 HTML 示例:
<h1 class="entry-title">
<a href="https://xxxx.wordpress.com/2015/09/16/hello-world/" rel="bookmark">Hello world!</a></h1>
我还使用了其他博客主机(HostGator)而不是 Wordpress.com,但仍然不起作用。(但这不重要。)
Apache 2.4.16,生产:2.4.10(?)
答案1
除非目标主机具有返回预期 URL 的功能,否则响应主体中的链接无法使用代理引用进行更新,否则您需要通过附加编码明确管理响应主体中的链接。 更多细节..
如果它在开发环境中工作,则意味着在生产环境中缺少这样的配置。