.htaccess文件提供了针对每个目录改变配置的方法。只要你的主配置文件httpd.conf中<Directory "......">对应的AllowOverride设置不是None,那么Apache在处理请求的时候就会在当前目录和所有上级目录中查找是否存在.htaccess文件,至于AllowOverride具体应该设置成什么,要依据你在.htaccess文件里写的语句而定。
例子:
如果你想使用.htaccess文件配置HTTP认证,则“AllowOverride AuthConfig”是必须的,然后在你的.htaccess文件里键入下列代码:
AuthType Basic
AuthName "Password Required"
AuthUserFile /path/to/password.file
AuthGroupFile /path/to/group.file
Require valid-user
密码文件等等的创建有很多讲究,具体看Apache文档介绍。
如果你想使用.htaccess文件配置SSI服务端包含,则“AllowOverride Options FileInfo”是必须的,然后在你的.htaccess文件里键入下列代码:
Options +Includes
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
注意:其中的“AddOutputFilter INCLUDES .shtml”是Apache2.0.X的写法,如果你的版本是Apache1.3.X的话,应该使用“AddHandler server-parsed .shtml”语法。
提醒:
1. Windows系统下不能正常的创建文件名为“.”开头的文件,你可以先随便创建一个,然后在命令行下用rename命令改名即可。
2. 出于效率的考虑,尽可能使用AllowOverride None关闭.htaccess文件功能,相应的功能设置在httpd.conf文件里完成,当然,如果是虚拟主机的话,一般用户无法修改httpd.conf文件,那.htaccess就成了救命稻草。 |