如何在阻止 Apache2 Web 伺服器上除某些文件之外的所有文件的同時保持預設文件正常運作?

如何在阻止 Apache2 Web 伺服器上除某些文件之外的所有文件的同時保持預設文件正常運作?

在我的網頁伺服器上,我想阻止除一些合理的例外之外的所有檔案。我有以下 Filesmatch 指令,它正在工作:

<FilesMatch "(?<!\.txt|\.htm|\.html|\.css|\.php|\.js|\.jpg|\.png|\.gif|\.ico|\.svg|\.eot|\.ttf|\.woff|\.otf)$">
    Order Allow,Deny
    Deny from All
</FilesMatch>

請注意,此 FilesMatch 使用負向後查找正規表示式:請參閱http://www.regular-expressions.info/lookaround.html。它將阻止除具有所述擴展名的檔案之外的所有檔案。

這也會導致目錄預設文件 (index.html) 出現 403 Forbidden。這不是我想要的。有人可以幫忙嗎?預設文檔查找如何工作?是否有其他解決方案可以阻止除某些之外的所有內容?我使用 LogLevel debug 查看了 Apache2 的錯誤日誌,但在請求預設文件時,唯一的訊息是「客戶端被伺服器設定拒絕」。 (明確要求index.html有效)

編輯:使用 Location 指令可以解決此問題。看使用 FilesMatch 提高安全性 所以我的問題解決了,但我仍然想知道為什麼它不能與 FilesMatch 一起使用。

相關內容