Apache VitualHost 代理至非标准 URL

Apache VitualHost 代理至非标准 URL

我有 Apache2.2,想配置虚拟主机,以便子域请求从非标准 URL(另一台服务器上的站点)获取内容,而无需重写浏览器中显示给客户端的 URL。我希望“sub.domain.com”的外观和行为类似于“another.domain2.net:100/some/thing”。因此,请求“sub.domain.com/test.php”应该从“another.domain2.net:100/some/thing/test.php”获取内容。我该如何配置 VirtualHost 来实现这一点?

我目前拥有的:

<VirtualHost *:80>
    ServerName sub.domain.com
    ProxyPreserveHost On
    ProxyPass / http://another.domain2.net:100/some/thing/
    ProxyPassReverse / http://another.domain2.net:100/some/thing/
</VirtualHost>

当我请求 时http://sub.domain.com,浏览器中失败的URL显示为http://sub.domain.com:100/some/thing/。看起来它只是替换了域名。

答案1

为什么要使用代理呢?

你尝试过 mod_rewrite 吗? http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html

我很确定它可以按照你的意愿重写 URL。

相关内容