2012-08-15 43 views
1

我有一臺專用的服務器,我分成了更多的虛擬服務器。 在主服務器上,我使用http(80)的標準端口,但對於其他人,我被迫設置不同的端口。 但我有一些備用域名。 當用戶通過特定域名時,什麼是最好的方式使不可見的重定向到另一臺服務器? 我不想使用iframe或重定向到其他網站。我希望域名能夠像共享的虛擬主機一樣行事。但是用不同的服務器。Apache虛擬服務器之間的域名重定向

可以嗎? 我知道apache獲取有關來自哪個域用戶的信息。 我想用虛擬主機做到這一點,如果可能的話。

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

在此先感謝:]

回答

1

既然你有訪問服務器的配置,看看在ProxyPass, ProxyPassMatch, and ProxyPassReverse指令是mod_proxy的一部分。在使用這些指令之前,您需要確保模塊已加載。

一般情況下,在你的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.gif改爲http://mydomain/other/newimage.gif,因爲它將被再次代理。

如果您有Cookie域也需要重寫,請參閱ProxyPassReverseCookieDomainProxyPassReverseCookiePath

+0

感謝您的回答:] – user1159144 2012-08-15 20:23:38

相關問題