2016-11-30 68 views
0

唯一<Directory>我之間所有Apache的配置文件是:爲什麼Apache會自動查找網站目錄?

<Directory /var/www/> 
     Options Indexes FollowSymLinks 
     AllowOverride None 
     Require all granted 
</Directory> 

其實在服務器上的真實目錄是/var/www/html/。目錄/var/www/沒有文件,但只有子目錄html

因此,訪問我的網站的根將失敗,因爲/var/www/index.html不存在。但它不會失敗,顯示/var/www/html/index.html的內容,即使我沒有在配置文件中指定它。

爲什麼?

回答

1

<Directory>部分覆蓋指定的目錄和任何子目錄。

喜歡的東西DocumentRootVirtualDocumentRootAliasRewriteRule,或FallBackResource可以在Apache的配置文件存在,或者說的.htaccess地圖/到/ var/www/html等沒有任何<目錄>部分明確列出它。

編輯:如果apachectl -S顯示Main DocumentRoot: "/var/www/html"即使這在您的配置文件中沒有指定,這意味着此值在您的Apache版本中默認編譯。

+0

正如IRC討論的那樣,我補充說:*如果'apachectl -S'顯示'Main DocumentRoot:'/ var/www/html'',即使這在配置文件中沒有指定,這意味着這個值是編譯默認在你的Apache版本*中,對我來說這是真的 – Basj