虚拟主机通配符子域名

虚拟主机通配符子域名

我们有一个静态 IP,用于路由我们的公司网站。我们在 Windows 上安装了一台本地机器,使用 WAMP 来运行我们的测试服务器。

我们希望虚拟主机能够测试不同的应用程序。但是,在创建子域时,我们有一个使用通配符子域的新项目。我们如何在 VirtualHosts 中创建通配符子域。

我们用,

 NameVirtualHost *

<VirtualHost *>
    ServerAdmin admin@test
    DocumentRoot "E:/Wamp/www/corporate"
    ServerName  companysite.com
</VirtualHost> 

<VirtualHost *>
    ServerAdmin admin@test
    DocumentRoot "E:/Wamp/www/project"
    ServerName  project.companysite.com
</VirtualHost>

<VirtualHost *>
    ServerAdmin admin@test
    DocumentRoot "E:/Wamp/www/project"
    ServerName  *.project.companysite.com
</VirtualHost>

但是,最后一个 * 通配符不起作用。有什么帮助吗?

答案1

我希望你用的是这个,上面只是简写:

NameVirtualHost *:80
<VirtualHost *:80>
...

然后...

ServerAlias 使用通配符...

<VirtualHost *:80>
    ServerAdmin admin@test
    DocumentRoot "E:/Wamp/www/project"
    ServerName  www.project.companysite.com
    ServerAlias *.project.companysite.com
</VirtualHost>

不过,您可能有其他配置问题,这可能会导致此操作无法生效。我知道 WampDeveloper 已为此设置,XAMPP 可能也是如此。可以尝试其中之一。

答案2

语法如下ServerName

它没有提到它支持任何类型的通配符。

拥有“默认”主机的唯一方法是利用 Apache 将加载第一的 <VirtualHost>当没有任何与Host标头匹配的 ServerName 指令时阻止。

答案3

如果它可以帮助其他可能偶然发现这个问题的人,这里有一个关于为 Wamp 设置子域和虚拟主机的简单的分步教程:http://www.itutorblog.com/2011/06/how-to-create-a-subdomain-on-wamp/

相关内容