![当 DocumentRoot 和 Directory 位于 Apache 中的 VirtualHost 之内/之外时,有什么不同?](https://linux22.com/image/505452/%E5%BD%93%20DocumentRoot%20%E5%92%8C%20Directory%20%E4%BD%8D%E4%BA%8E%20Apache%20%E4%B8%AD%E7%9A%84%20VirtualHost%20%E4%B9%8B%E5%86%85%2F%E4%B9%8B%E5%A4%96%E6%97%B6%EF%BC%8C%E6%9C%89%E4%BB%80%E4%B9%88%E4%B8%8D%E5%90%8C%EF%BC%9F.png)
这两种情况有什么区别:
<VirtualHost 127.0.0.1:80>
ServerName localhost
DocumentRoot "/home/sfprojects/jobeet/web"
DirectoryIndex index.php
<Directory "/home/sfprojects/jobeet/web">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
简单来说:
DocumentRoot "/home/sfprojects/jobeet/web"
DirectoryIndex index.php
<Directory "/home/sfprojects/jobeet/web">
AllowOverride All
Allow from All
</Directory>
看来两者对我来说都适用。
答案1
如果您不将其保存在虚拟主机中,那么它将自动应用于本地主机。
如果你使用命名虚拟主机,并且希望虚拟主机(即 jobeet)与主主机(即 localhost)提供不同的路径,则它应该位于 VirtualHost 内。否则,subdomain.domain.com 将与 domain.com 是同一个网站
Directory 指令应与 documentroot 一起定义访问权限。
虚拟主机允许您创建“虚假”网站(例如 mysite.dev)或从一台服务器托管其他域。