у меня есть
# 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 (?)
Ссылки в теле ответа не могут быть обновлены с помощью прокси-ссылки, если на целевом хосте нет функции для возврата ожидаемых URL-адресов, или же вам нужно явно управлять ссылками в теле ответа с помощью дополнительного кодирования. Подробнее ..
Если его работа в dev означает, что есть такая конфигурация, которой вам не хватает в prod.