0

我在域的根目录中有一个 .htpasswd 文件和一个应该保护单个 index.php 文件的 .htaccess 文件。不幸的是,似乎子目录中的 index.php 文件也受到保护。是否可以在单个文件上进行这项工作,并且不改变子目录中的文件?

这是我当前的 .htaccess 文件。

<Files "index.php">
AuthName "Users zone"
AuthType Basic
AuthUserFile /home/deb69824/domains/.htpasswd
require valid-user
</Files>
4

2 回答 2

1

有趣的问题。使用FilesorFilesMatch不会帮助您,因为它只匹配文件名,而与文件所在的目录无关。不幸Location的是,文件中不允许使用指令.htaccess

幸运的是,您可以在这里使用一个指令,即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
于 2013-10-07T14:57:59.260 回答
0

包括一个斜杠,它指示文件的确切位置,例如在目录的根目录中?

<Files "./index.php">
AuthName "Users zone"
AuthType Basic
AuthUserFile /home/deb69824/domains/.htpasswd
require valid-user
</Files>
于 2013-10-07T14:26:12.907 回答