Joh*_*nst 8 virtualhost apache-2.2
我试图理解以下两个术语之间的区别:
*:80
_default_:80
Run Code Online (Sandbox Code Playgroud)
在 Apache 配置文件中。我不清楚这里的文档,我在这里找到的唯一邮件列表对话也没有说明(对我来说是可以理解的)这件事。
我有一堆基于名称的虚拟主机,声明如下:
<VirtualHost *:80>
ServerName example.com
...
Run Code Online (Sandbox Code Playgroud)
并且我希望有一个条目在这些都不匹配时触发,即当请求没有虚拟主机名或具有尚未声明的虚拟主机名时。我应该使用*:80
还是_default_:80
?
我认为这_default_
用于在基于 IP 的虚拟主机配置中定义默认虚拟主机。您正在使用基于名称的虚拟主机,因此文档中的此声明
默认虚拟主机永远不会服务发送到用于基于名称的虚拟主机的地址/端口的请求。
变得相关。
在基于名称的虚拟主机配置中,定义的第一个虚拟主机是默认虚拟主机,如果没有找到其他匹配项,它将提供服务,因此您可以做一些简单的事情,例如
<VirtualHost *:80>
ServerName default
DocumentRoot /var/www/default
</VirtualHost>
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/example.com
</VirtualHost>
<VirtualHost *:80>
ServerName sub.example.com
DocumentRoot /var/www/sub.example.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
会做你想做的事,并从默认情况下提供除 example.com 和 sub.example.com 之外的所有内容。
归档时间: |
|
查看次数: |
4427 次 |
最近记录: |