San*_*man 0 virtualhost server-settings apache-2.2
所以我为 www.company.com 设置了一个虚拟服务器:
<VirtualHost *:80>
ServerName www.company.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
然后我想将 *.company.com 定向到另一个站点。我该怎么做?我可以想到www。和里面。被针对特定的虚拟主机,但“其余的”针对通用虚拟主机。
Apache 版本为 2.2.4
您的答案的解决方案:
<VirtualHost *:80>
ServerName www.company.com
ServerAlias company.com
DocumentRoot /path1
</VirtualHost>
<VirtualHost *:80>
ServerName *.company.com
DocumentRoot /path2
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
通配符的礼貌使用“捕获所有”域:
<VirtualHost *:80>
ServerName subdomain1.company.com
DocumentRoot /path/to/subdomain1
</VirtualHost>
<VirtualHost *:80>
ServerName subdomain2.company.com
DocumentRoot /path/to/subdomain2
</VirtualHost>
<VirtualHost *:80>
ServerName company.com
ServerAlias *.company.com
DocumentRoot /path/to/primary/domain+catchall
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
请注意,顺序是有意义的,catchall 域必须是最后一个。这对于避免在客户端 url 中输入错误引起“主机不存在”错误特别有用,让您公司的客户认为您是一个糟糕的服务器管理员(而不是他是一个糟糕的打字员:P)。
归档时间: |
|
查看次数: |
183 次 |
最近记录: |