欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

apache配置详解(2) 博客分类: apache  

程序员文章站 2024-03-18 15:29:34
...

Apache配置文件详解之httpd.conf(2)

本文出自 “菜鸟的成长记” 博客,请务必保留此出处http://blief.blog.51cto.com/6170059/1679427

 

Apache配置文件详解之httpd.conf(2)

一. <directory>     </directory>语指令句

说明<directory>path</directory>主要是对目录文件访问权限的控制

我们都知道Apache配置文件:httpd.conf文件中有这么几行内容,如下

<Directory />
   AllowOverride none
   Require all denied
</Directory>

这几句内容告诉我们Apache默认对根目录的访问权限为拒接所有的访问,并且.htaccess 文件将被完全忽略.

下面我们将为大家详细介绍一下关于<directory> </directory>语句里面的参数的定义

通常<directory> </directory>指令语句包括以下三个定义,如下

 

<Directory />
   AllowOverride None
   Options None
   Require all granted
</Directory>

 

1.1  AllowOverride:AllowOverride从字面上解释是允许覆盖的意思,即Apache允许另一配置文件覆盖现有配置文件

 

AllowOverride   None            不读取.htaccess,完全忽视.htaccess文件
AllowOverride   all              允许.htaccess所有指令,缺省是all                  
AllowOverride   Limit           .htaccess函盖具体限定的主机(allow,deny)
AllowOverride   AuthConfig      .htaccess函盖跟认证有关指令(AuthType,AuthName)            

我们通常利用Apache的rewrite模块对URL进行重写,rewrite规则会写在 .htaccess 文件里。但要使 apache 能够正常的读取.htaccess 文件的内容,就必须对.htaccess 所在目录进行配置。从安全性考虑,根目录的AllowOverride属性一般都配置成不允许任何Override,即:

< Directory /> 
AllowOverride None 
< /Directory>

 

AllowOverride的参数

 

AuthConfig 允许使用与认证授权相关的指令(AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, 等)。

 

FileInfo   允许使用控制文档类型的指令(DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, mod_mime中的 Add* 和 Remove* 指令等等)、控制文档元数据的指令(Header, RequestHeader, SetEnvIf, SetEnvIfNoCase, BrowserMatch, CookieExpires, CookieDomain, CookieStyle, CookieTracking, CookieName)、mod_rewrite中的指令(RewriteEngine, RewriteOptions, RewriteBase, RewriteCond, RewriteRule)和mod_actions中的Action指令。

 

Indexes    允许使用控制目录索引的指令(AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, 等)。

 

Limit      允许使用控制主机访问的指令(Allow, Deny, Order)。Options[=Option,...] 允许使用控制指定目录功能的指令(Options和XBitHack)。可以在等号后面附加一个逗号分隔的(无空格的)Options选项列表,用来控制允许Options指令使用哪些选项。

如果要多个权限组合使用,用这样的格式写就行了:AllowOverride AuthConfig Indexes

 

1.2 Option:该参数用于定义对目录的操作权限

option none           禁止对目录的所有操作
option all            允许对目录的所有操作,ALL---所有操作
option ExecCGI        对该目录,可以执行cgi脚本
option Indexes        允许访问该目录(而该目录没有index.html)时,返回目录下的文件列表   option FollowSymLinks 只允许对目录的FollowSymLinks操作