Dot-Htaccess
.htaccess 簡單 <Files> 不起作用
設想
我只是試圖通過 .htaccess 密碼文件夾允許一個 php 文件。
迄今為止的嘗試
- 我的特殊文件.php
- 子文件夾/my-special-file.php
- ./subfolder/my-special-file.php
- 嘗試在子文件夾中使用 .htaccess
問題
我錯過了什麼?我知道我以前做過這樣的小事情,但我只是沒有看到它..
.htaccess 文件
AuthUserFile /some/folder/.htpasswd AuthType Basic AuthName "Password Required" Require user personA personB Order Deny,Allow Deny from All #not working <Files "./subfolder/my-special-file.php"> Allow from All </Files> Satisfy Any
網頁 401
未經授權
此伺服器無法驗證您是否有權訪問所請求的文件。要麼您提供了錯誤的憑據(例如,錯誤的密碼),要麼您的瀏覽器不了解如何提供所需的憑據。
Apache/2.4.7 (Ubuntu) 伺服器在 xx 埠 80
您正在使用的 Apache 2.4 中的訪問控制已更改,這些更改可能在從 2.2 升級到 2.4中得到最好的解釋。簡而言之,來自mod_access_compat:
兼容性:在 Apache HTTP Server 2.3 中作為與以前版本的 Apache httpd 2.x 的兼容性模組可用。此模組提供的指令已被新的 authz 重構棄用。請參閱mod_authz_host
讓我們根據mod_authz_core和mod_authz_host重構您的配置:
<Directory "/var/www/somefolder"> AuthType Basic AuthName "Password Required" AuthUserFile "/some/folder/.htpasswd" Require user personA personB <Files "my-special-file.php"> Require all granted </Files> </Directory>
<Directory>
上下文可以替換為,.htaccess
但不推薦。被
<Files "my-special-file.php">
所有子文件夾繼承,即
- 這允許訪問
my-special-file.php
等subfolder/my-special-file.php
。- 如果您只想將此應用於 ,則
subfolder/my-special-file.php
需要:<Directory "/var/www/somefolder"> AuthType Basic AuthName "Password Required" AuthUserFile "/path/to/.htpasswd" Require user personA personB <Directory "/var/www/somefolder/subfolder"> <Files "my-special-file.php"> Require all granted </Files> </Directory> </Directory>