Apache-2.2

apache 嘗試訪問 lost+found 目錄中的 .htaccess

  • November 28, 2014

/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 搜尋的目錄樹中。

引用自:https://serverfault.com/questions/647794