我正在将一个网站反向代理到另一个网站。它运行良好,但在某些链接上它会显示原始链接。这是我的配置
原始网站“mysite.com”
通过代理传递到“mysite.com”的第二个站点配置
<VirtualHost *:80>
ServerName test.mysite.com
ServerAlias www.test.mysite.com test.mysite.com
ErrorLog /var/log/apache2/test.mysite_log.log
TransferLog /var/log/apache2/test.mysite-access_log.log
LogLevel info
LogFormat "%h %l %u %t \"%r\" %>s %b %T" common
ProxyPass / http://mysite.com/
ProxyPass / http://mysite.com/
ProxyPassReverse / http://mysite.com/
</VirtualHost>
现在,一切都运行良好,但问题是,当我转到某个特定链接时,它会将我重定向到原始链接。例如,我的页面上有两个部分:“关于我们”和“咨询”。当我点击“关于我们”时,它会将我带到“http://test.mysite.com/about-us“没关系
当我点击“查询”时,它会带我到“http://mysite.com/inquiry“这是不正确的,一定是”http://test.mysite.com/inquiry“。
我想我漏掉了一些要在配置文件中添加的东西,但我无法弄清楚。
答案1
ProxyPassReverse
仅重写 HTTP 标头。它与原始页面中的完整 URL 无关。
你可能想要使用第三方模块 - 比如mod_proxy_html。