.htaccess设置指南经典说明

2019-10-16 10:34:34王旭

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