下边首先介绍一下“.htaccess”文件中的一些基本的配置命令。
AuthName
此指令为口令保护的页面设置认证区域。说白了就是当访问设置了需要密码才能访问的目录时弹出窗口的提示信息,你可以设置为:“访问这个目录需要认证哦!”。
AuthType
此指令为这个领域设置认证类型,在HTTP1.0 中只有一个认证类型——Basic(基本类型)。在 HTTP1.1中有数种,如 MD5。大多数情况用的都是Basic类型。
AuthUserFile
此命令指定一个含有名字和口令列表的文件,每行一对。格式为“用户名:加密过的密码”。
AuthGroupFile
此命令指定包含用户组清单和这些组的成员的清单文件,组成员之间用空格分开。例如:
Managers:joe mark
Production: mark shelley paul
require
require命令指定需要什么条件才能被授权访问。它可以只列出可能连接的指定用户、指定可能连接的用户的一个组或多个组的清单,或指出数据库中的任何有效用户都被自动的授权访问。例如:
require user mark paul cizi(只有mark、paul和cizi可以访问)
require group managers(只有managers组可以访问)
require valid-user(在数据库AuthUserFile中任何用户都可以访问)
下边给出一个简单的例子,例如要设置访问admin目录需要密码,并且只能用cizi帐号访问,提示信息为“设置了目录密码”,这个例子的配置文件应该如下:
<Directory /usr/local/apache/htdocs/admin/>
AuthName 设置了目录密码
AuthType basic
AuthUserFile /usr/local/apache/conf/users
require user cizi
</Directory>
以上/usr/local/apache/htdocs为您要设置的路径,/usr/local/apache/conf/users文件是你要保存用户密码文件的具体路径,您可以自定义存放路径。
最后一步,如何为认证用户cizi设置密码呢?接着往下看,只需要5分钟,您就能轻松实现:)
为了给admin目录设置用户cizi,可以通过“htpasswd”命令:
#htpasswd -c /usr/local/apache/conf/users cizi
敲入以上命令后回车,系统会提示输入cizi用户的密码和再次确认密码。
初次创建用户密码文件users,需要在htpasswd后加上-c参数,例如需要再增加一个用户webmaster,使得该用户也有访问目录admin的权限,那么只需要输入以下命令:
#htpasswd /usr/local/apache/conf/users webmaster
输入以上命令后回车,输入webmaster的访问密码,OK之前别忘了修改.htaccess文件,在认证用户中加上webmaster,如下:
<Directory /usr/local/apache/htdocs/admin/>
AuthName 设置了目录密码
AuthType basic
AuthUserFile /usr/local/apache/conf/users
require user cizi webmaster
</Directory> OK,在浏览器地址中去试试看吧……