top
服务器端包含举例
.htaccess文件的另一个常见用途是允许一个特定目录的服务器端包含(Server Side Includes), 可以在需要的目录中放置.htaccess文件,并如下配置:
Options +Includes
AddType text/html shtml
AddHandler server-parsed shtml
注意,必须同时设置AllowOverride Options和 AllowOverride FileInfo使这些指令生效。
更详细的有关服务器端包含的说明,请参见SSI tutorial。
top
CGI举例
最后,可以通过.htaccess文件允许在特定目录中执行CGI程序,需按如下配置:
Options +ExecCGI
AddHandler cgi-script cgi pl
另外,如下,可以使给定目录下所有文件被视为CGI程序:
Options +ExecCGI
SetHandler cgi-script
注意,必须设置AllowOverride Options使这些指令生效。
更详细的有关CGI编程和配置的说明,请参见CGI tutorial。
top
疑难解答
如果在.htaccess文件中写入了配置指令但不起作用,可能有多种原因。
最常见的原因是,AllowOverride指令没有被正确设置, 必须确保没有对此文件区域设置AllowOverride None。有一个很好的测试方法,即, 在.htaccess文件随便增加点没用的内容,如果服务器没有返回了一个错误消息, 那么几乎可以断定设置了AllowOverride None。
在访问文档时,如果收到服务器的出错消息,应该检查Apache的出错日志, 可以知道.htaccess文件中哪些指令是不允许使用的,也可能会发现需要纠正的语法错误。
.htaccess文件使用手册
- .htaccess文件(或者"分布式配置文件"提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件,以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。
- 子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。
- .htaccess必须以ASCII模式上传,最好将其权限设置为644。
错误文档的定位
常用的客户端请求错误返回代码:
401 Authorization Required
403 Forbidden
404 Not Found
405 Method Not Allowed
408 Request Timed Out
411 Content Length Required








