apache的.htaccess有个可以保护目录的功能。当用户访问这个目录里资源的时候,会弹出对话框,让输入用户名和口令。在设置的时候有一些关必要条件。比如启用.htaccess文件等。
这2天在freebsd里面想这么做一次,但是遇到了问题,一直报错
configuration error: couldn’t check user. No user file?
后来经过调整,还有
configuration error: couldn’t check access. No groups file?
和
Invalid command ‘AuthUserFile’, perhaps misspelled or defined by a module not included in the server configuration
等错误信息。
后来经过n多个小时。。n>3,最后准备投降的时候,看到httpd.conf里面有一些注释掉名字里面有auth字样的module。一狠心,全去掉注释,好了!
又经过一番测试。
需要启用下面的三个module
LoadModule authn_file_module libexec/apache22/mod_authn_file.so LoadModule authz_user_module libexec/apache22/mod_authz_user.so LoadModule auth_basic_module libexec/apache22/mod_auth_basic.so
当然我用的是
AuthType Basic
.htaccess的内容如下
AuthType Basic AuthName "admin" AuthUserFile /usr/local/etc/apache22/.htpasswd Require user admin