AllowOverride是指确定允许存在于.htaccess文件中的指令类型

 

  通常利用Apache的rewrite模块对 URL 进行重写的时候, rewrite规则会写在 .htaccess 文件里。但要使 apache 能够正常的读取.htaccess 文件的内容,就必须[1]对.htaccess 所在目录进行配置。从安全性考虑,根目录的AllowOverride属性一般都配置成“None”不允许任何Override(优先级)。

当AllowOverride指令设置为 All时,所有具有".htaccess"作用域的指令都允许出现在.htaccess文件中。
 
  directive-type可以是下列各组指令之一:
 
  AuthConfig
 
  允许使用与认证授权相关的指令(AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, 等)。


例子:要求/srv/www/htdocs/htpasswd,包含user1、user2两个账号,密码皆为linux
          实现htpasswd内有的账号可以存取/srv/www/htdocs/engineers目录。
实现如下:
    #htpasswd2 -c /srv/www/htdocs/htpasswd user1
    #htpasswd2 /srv/www/htdocs/htpasswd user2
    #mkdir /ser/www/htdocs/engineers
    #vi /etc/apache2/default-server.conf
    加入:Alias  /engineers "/srv/www/htdocs/engineers"
              <Directory "/srv/www/htdocs/engineers">
               AllowOverride AuthConfig
              </Directory>
       然后保存,进而编辑.htaccess文件内容
    #vi  /srv/www/htdocs/engineers/.htaccess
      加入: AuthName "Please input you id&passwd"
                  AuthType Basic
                  AuthUserFile  /srv/www/htdocs/htpasswd
                  Require user user1 user2
       保存退出即可!