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

时间:2023-02-04 04:40:58



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操作



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