2013-02-25 76 views
0

我想知道是否有可能使用相同的块为一个虚拟主机设置不同的服务器名称。我有一个可通过www.extranet.com访问的应用程序,我希望通过www.exemple.extranet.com之类的任何子域访问它,而无需声明它们全部。Apache设置,多虚拟主机多服务器名称相同的目录

我可以使用服务器别名,但我需要在浏览器上保留原始URI。

有什么想法?

回答

0

可能最好的方法是使用重写规则。例如:

RewriteEngine on 
RewriteCond %{HTTP_HOST}^mydomain\.com [NC] 
RewriteRule ^/(.*)$ http://www.mydomain.com [r=301,L] 
+0

这会改变原始的网址吗? – user2107970 2013-02-25 17:20:01

+0

是的。但为什么这很重要?在您提供页面之前,它会对其进行修改。 – mlewis54 2013-02-26 00:02:19

+0

是的它很重要,我需要保持输入网址:)从朋友那里得到我的答案,为你需要它的人: – user2107970 2013-02-26 07:39:13

0

这是ServerAlias的主要用例。虚拟主机不仅响应Servername,而且响应所有ServerAlias es。你需要“声明”的唯一东西就是这个虚拟主机应答的主机列表。

ServerName example.net 
ServerAlias www.example.net www.subdomain.example.net anothersubdomain.example.net 

浏览器中的主机名将保持不变。

除非你用RewriteRules等来做点什么,但你的目标是不改变它。所以默认行为应该适合你。