我有一个在 ClearOs 6 上运行的 Web 服务器。我想使用 .htaccess 保护几个目录,但似乎根本没有提示我输入密码。conf 文件的相关部分如下:
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory "/var/www/html">
Order allow,deny
Allow from all
</Directory>
AccessFileName .htaccess
<Files ~ "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</Files>
LogLevel debug
<Directory "/var/www/icons">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "/var/www/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
<VirtualHost *:80>
DocumentRoot /var/www/html
ErrorLog /var/log/httpd/error_log
CustomLog /var/log/httpd/access_log combined
</VirtualHost>
<Directory /var/www/html>
Options +Indexes +FollowSymLinks +IncludesNOExec
AllowOverride All
Order deny,allow
Allow from all
AddType text/html .php
AddHandler php5-script .php
</Directory>
我的文件夹 /var/www/html/hidden 中的 .htaccess 文件如下所示:
AuthName "Restricted Area"
AuthUserFile /var/www/users
AuthGroupFile /var/www/group
AuthName ByPassword
Authtype Basic
Require user johnsmith
/var/www/用户:
johnsmith:GibberishChangedForHackers
/var/www/group 是空的。
如果我尝试访问 hidden/index.html,则无需密码提示即可访问。错误日志中没有显示任何内容。访问日志显示访问正常。
如果我不使用 .htaccess,而是在元素中添加相同的 auth 指令<Directory /var/www/html/hidden>
,系统会要求我输入密码,并且 ao 授权确实有效。
如果我向 .htacess 添加无效指令,我会收到服务器错误,并在错误日志中记录一条条目,因此 .htaccess是正在被 Apache 解析。