簡體   English   中英

Apache 忽略丟失的 DocumentRoot

[英]Apache ignore missing DocumentRoot

我想配置我的 apache 不同。 現在,如果缺少一個 DocumentRoots,所有服務器都無法啟動。 真煩人..

有什么選擇,如何忽略這個錯誤?

基於您的 DocumentRoot 指令與 VirtualHost 同義使用的假設,您可以將 VirtualHosts 配置分離到單獨的 conf 文件中,將它們分別放入其文檔根目錄中,然后將它們與目錄范圍的 include 指令一起包含在通用的服務器范圍 conf 中。 請參閱下面的示例:

在下面的目錄中創建一個conf:

/etc/apache/sites-enabled/sites.conf

添加以下內容

Include /data/www/sites/

這將包括上述目錄和任何子目錄中的任何 conf 文件

對於具有以下 DocumentRoot 的主機

/data/www/sites/website-one

創建一個 VirtualHost conf 文件並將其放在上面的目錄中,例如:

/data/www/sites/website-one/website-one.conf

並且您的 conf 文件將包含有關 VirtualHost 的所有信息,包括 DocumentRoot 例如

<VirtualHost *:80>
DocumentRoot /data/www/sites/website-one
ServerName www.website-one.com

# Other directives here

</VirtualHost>

如果 DocumentRoot 不存在,則不會加載 conf 文件,也不會執行 DocumentRoot 指令。 出於安全原因,請注意您的 conf 文件不會變得不可引用。 這可能應該在服務器級別禁用,但需要注意這一點。 最后,上述模式意味着/data/www/sites目錄和子目錄中任何錯誤的 conf 文件都會導致服務器無法啟動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM