这听起来可能是一个愚蠢的问题,但它已经困扰了我一段时间,我找不到任何答案。我即将在apache+linux生产服务器上部署一个php+mysql web应用程序。我设置了一个虚拟主机,它指向我的主项目目录的公用文件夹。我的问题是:
-如果我将项目目录的公用文件夹设置为默认的apache web根目录,而不是设置一个单独的虚拟主机,会有什么不同吗?
-我应该限制对默认web根目录的访问,还是因为我没有使用它而禁用它。如果是,如何?
提前谢谢。
希望你已经解决了你的问题。顺便说一句,我在这里发布答案,以帮助服务器管理员将来。所以在未来,任何服务器管理员都有这种类型的问题,他们可以参考这个答案。
在这种情况下,无需设置默认的web根目录。根据Apache文档,如果在后续条目中未找到任何匹配项,则将获取第一个虚拟主机条目。请参阅以下虚拟主机条目
NameVirtualHost *
<VirtualHost *>
ServerName www.example.com
ServerAlias example.com
DocumentRoot /home/example/public_html
ErrorLog /home/example/error.log
CustomLog /home/example/access.log combined
</VirtualHost>
<VirtualHost *>
ServerName www.example2.com
ServerAlias example2.com
DocumentRoot /home/example2/public_html
ErrorLog /home/example2/error.log
CustomLog /home/example2/access.log combined
</VirtualHost>
没有必要禁用默认的web根目录。如果找不到匹配项,Apache将自动将第一个条目作为默认web根进行pic。