1

我有一台专用服务器,我将其拆分为更多虚拟服务器。在主服务器上,我使用 http (80) 的标准端口,但对于其他服务器,我被迫设置不同的端口。但我有一些备用域名。当用户通过特定域时,将隐形重定向到另一台服务器的最佳方法是什么?我不想使用 iframe 或重定向到另一个网站。我希望域在共享虚拟主机上表现得像。但是使用不同的服务器。

有可能吗?我知道 apache 获取有关来自哪个域用户的信息。如果可能的话,我想用虚拟主机来做。

<VirtualHost *>
ServerName mydomain
ServerAlias mydomain 
some redirection
CustomLog /var/log/apache2/mydomain.access.log combined
ServerAdmin myemail
</VirtualHost>

提前致谢 :]

4

1 回答 1

1

由于您可以访问服务器的配置,因此请查看作为 mod_proxy 一部分的ProxyPassProxyPassMatchProxyPassReverse指令。您需要确保模块已加载,然后才能使用这些指令。

一般来说,在您的mydomain配置中,假设您希望访问者在访问http://myother.domain.com/时看到该站点http://mydomain/other,您只需添加:

ProxyPass /other http://myother.domain.com/
ProxyPassReverse /other http://myother.domain.com/

ProxyPassReverse是为了确保代理的位置响应被重写。例如,如果页面在 http://myother.domain.com/返回 301 重定向到http://myother.domain.com/newimage.gif,则该指令将在内部将响应的位置从 重写http://myother.domain.com/newimage.gifhttp://mydomain/other/newimage.gif,以使其再次被代理。

如果您有也需要重写的 cookie 域,请查看ProxyPassReverseCookieDomainProxyPassReverseCookiePath.

于 2012-08-15T20:18:36.010 回答