当 DocumentRoot 和 Directory 位于 Apache 中的 VirtualHost 之内/之外时,有什么不同?

当 DocumentRoot 和 Directory 位于 Apache 中的 VirtualHost 之内/之外时,有什么不同?

这两种情况有什么区别:

<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)或从一台服务器托管其他域。

相关内容