我们有一个静态 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/