我有 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。