这是我的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的根目录。