如何添加新的主机名到现有的虚拟主机在Apache?

这是我的Apacheconfiguration(最有趣的部分):

<VirtualHost *:80> ServerName example.com ... </VirtualHost> 

工作正常,我的服务器正确响应example.com:80 HTTP请求。 现在我要添加一个别名到这个域。 我希望所有对my-new-domain.com:80/test请求产生与example.com相同的响应,例如:

 my-new-domain.com/test/xyz -> example.com/xyz 

什么是重要的,我不想看到HTTPredirect(301代码)。 我想隐藏用户的example.com URL。 所有他必须看到的是my-new-domain.com/test URL。

 ServerAlias my-new-domain.com 

在VirtualHost部分内

为重写

 RewriteCond %{HTTP_HOST} ^my-new-domain\.com RewriteRule /test/(.*) /$1 [QSA,L,P] 

使用mod_rewrite和mod_proxy( https://httpd.apache.org/docs/2.2/mod/mod_rewrite.html )。 否则,如果域名不同,mod_rewrite即使从同一个主机提供,也执行外部重写。

就像是

RewriteRule ^ http://my-new-domain.com/test http://example.com [QSA,P]

另一个解决scheme是在my-new-domain.com的根目录中创build一个符号链接test以指向example.com的根目录。