apache 嘗試訪問 lost+found 目錄中的 .htaccess
/var/www/vhost/servername/httpdocs/subdir/
apache(ubuntu 12.04 上的 2.2.22 版)vhost webroot的子目錄是它自己的磁碟分區。相應地,也有/var/www/vhost/servername/httpdocs/subdir/lost+found
。在我的 apache 錯誤日誌中,我發現/var/www/vhost/servername/httpdocs/subdir/lost+found/.htaccess
無法讀取的錯誤,帶有類似的引用/var/www/vhost/servername/httpdocs/subdir/foo/
(即當該目錄的FancyIndexing
目錄索引顯示給使用者時)。$$ Fri Nov 28 09:14:19 2014 $$ $$ crit $$ $$ client 10.0.0.1 $$(13)Permission denied: /var/www/vhost/servername/httpdocs/subdir/lost+found/.htaccess pcfg_openfile: 無法檢查htaccess文件,確保它是可讀的,referer:
http://servername/subdir/foo/
我無法理解這一點。為什麼 apache 會嘗試閱讀
/var/www/vhost/servername/httpdocs/subdir/lost+found/.htaccess
在那個場合?據我了解,它應該只有理由嘗試閱讀
/var/www/vhost/servername/httpdocs/subdir/foo/.htaccess
/var/www/vhost/servername/httpdocs/subdir/.htaccess
/var/www/vhost/servername/httpdocs/.htaccess
有趣的是,更深的子目錄(例如 )不會出現相應的錯誤消息
http://servername/subdir/foo/bar/baz/
。是什麼導致了這個錯誤(或者首先是讀取嘗試)?我怎樣才能擺脫它?
Apache 會嘗試
.htaccess
在每個目錄中查找文件,但lost+found
通常root
只能讀取,因此它甚至無法檢查文件是否存在。一種解決方案是將磁碟掛載到其他地方,將數據移動到該掛載點的子目錄中,然後將其符號連結或綁定掛載到該子目錄中。這種方式,
lost+found
不在 Apache 搜尋的目錄樹中。