Apache-2.2

htaccess 阻止對目錄的訪問,但有兩個例外

  • December 14, 2012

我不知道如何編寫一個 .htaccess 文件來阻止對目錄的所有訪問,除了讀取應該允許的 html 文件和需要 athentication 的 php 文件。拒絕所有訪問並允許 html 工作正常,但要求輸入 php 文件的密碼則不行。

這是我想出的:

<FilesMatch  ".*\.php$">
       AuthName "Test area"
       AuthUserFile /var/www/.htpasswd
       AuthType Basic
       require valid-user
</FilesMatch>

<FilesMatch "\.html?$">
       Order Allow,Deny
       Allow from All
</FilesMatch>

order Allow,Deny
Deny from ALL

謝謝,

交流電

我想通過身份驗證授權而不是兩者,你需要一個Satisfy Any(預設是Satisfy All

Order deny,allow
Deny from all

<FilesMatch  "\.php$">
   Satisfy Any
   AuthName "Test area"
   AuthUserFile /var/www/.htpasswd
   AuthType Basic
   require valid-user
</FilesMatch>

<FilesMatch "\.html?$">
   Allow from All
</FilesMatch>

注意:對於 Apache >= 2.4,此方法已棄用(參見新指令<Require(All|None|Any)>Require指令)。

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