我的域根目录中有一个.htpasswd文件和一个.htaccess文件,该文件应保护单个index.php文件。不幸的是,asif index.php子目录中的文件也受到保护。 是否可以在单个文件上进行此工作并保留子目录中的文件不受影响?
这是我当前的.htaccess文件。
<Files "index.php">
AuthName "Users zone"
AuthType Basic
AuthUserFile /home/deb69824/domains/.htpasswd
require valid-user
</Files>
答案 0 :(得分:0)
包含斜杠,表示文件的确切位置,例如在目录的根目录?
<Files "./index.php">
AuthName "Users zone"
AuthType Basic
AuthUserFile /home/deb69824/domains/.htpasswd
require valid-user
</Files>
答案 1 :(得分:0)
有趣的问题。使用Files
或FilesMatch
对您没有帮助,因为它只匹配文件名,而不管目录文件是什么。不幸的是Location
文件中不允许.htaccess
指令。 / p>
幸运的是,你可以在这里使用指令,即mod_setenvif
# set env variable if URI is /index.php
SetEnvIf Request_URI "^/index\.php$" HOME_INDEX
# use BASIC authentication only when env variable HOME_INDEX is set
AuthType Basic
Authname "Users zone"
AuthUserFile /home/deb69824/domains/.htpasswd
Require valid-user
Satisfy any
Order allow,deny
Allow from all
Deny from env=HOME_INDEX