Apache httpd.conf配置详解 -02

  1. :和用于封装一组指令,使之仅对某个目录及其子目录生效。

语法: …

Directory-path可以是一个目录的完整路径,或是包含了Unix shell匹配语法的通配符字符串。在通配符字符串中,"?“匹配任何单个的字符,”*"匹配任何字符序列。也可以使

用"[]“来确定字符范围。在”~" 字符之后也可以使用正则表达式。

如果有多个(非正则表达式)配置段符合包含某文档的目录(或其父目录),那么指令将以短目录优先的规则进行应用,并包含.htaccess文件中的指令。

正则表达式将在所有普通配置段之后予以考虑。所有的正则表达式将根据它们出现在配置文件中的顺序进行应用。

指令不可被嵌套使用,也不能出现在或配置段中。

  1. :提供基于文件名的访问控制,类似于和指令。

语法: …

filename参数应当是一个文件名或是一个包含通配符的字符串,其中"?“匹配任何单个字符,”*“匹配任何字符串序列。在”~"字符之后可以使用正则表达式。

在此配置段中定义的指令将作用于其基本名称(不是完整的路径)与指定的文件名相符的对象。段将根据它们在配置文件中出现的顺序被处理:在段和.htaccess

文件被处理之后,但在段之前。能嵌入到段中以限制它们作用的文件系统范围,也可用于.htaccess文件当中,以允许用户在文件层面上控制对它们

自己文件的访问。

  1. :封装根据指定的模块是否启用而决定是否生效的指令。

语法:<IfModule [!]module-file|module-identifier> …

module-file是指编译模块时的文件名,比如mod_rewrite.c 。

module-identifier是指模块的标识符,比如mod_rewrite 。

在配置段中的指令仅当测试结果为真的时候才进行处理,否则所有其间的指令都将被忽略。

  1. Options:控制在特定目录中将使用哪些服务器特性

语法:Options [+|-]option [[+|-]option] …

option可以为None,不启用任何额外特性,或者下面选项中的一个或多个:

All  除MultiViews之外的所有特性,这是默认设置。

ExecCGI  允许使用mod_cgi执行CGI脚本。

FollowSymLinks  服务器允许在此目录中使用符号连接,如果此配置位于配置段中,则会被忽略。

Includes  允许使用mod_include提供的服务器端包含。

IncludesNOEXEC  允许服务器端包含,但禁用"#exec cmd"和"#exec cgi",但仍可以从ScriptAlias目录使用"#include virtual"虚拟CGI脚本。

Indexes  如果一个映射到目录的URL被请求,而此目录中又没有DirectoryIndex(例如:index.html),那么服务器会返回由mod_autoindex生成的一个格式化后的目录列表。

MultiViews  允许使用mod_negotiation提供内容协商的"多重视图"(MultiViews)。

SymLinksIfOwnerMatch  服务器仅在符号连接与其目的目录或文件的拥有者具有相同的uid时才使用它。 如果此配置出现在配置段中,则将被忽略。

一般来说,如果一个目录被多次设置了Options ,则最特殊的一个会被完全接受(其它的被忽略),而各个可选项的设定彼此并不融合。然而,如果所有作用于Options指令的可选项

前都加有"+" 或"-“符号,此可选项将被合并。所有前面加有”+“号的可选项将强制覆盖当前的可选项设置,而所有前面有”-"号的可选项将强制从当前可选项设置中去除。

  1. AllowOverride:确定允许存在于.htaccess文件中的指令类型。

语法:AllowOverride All|None|directive-type [directive-type] …

如果此指令被设置为None ,那么.htaccess文件将被完全忽略。事实上,服务器根本不会读取.htaccess文件。

当此指令设置为All时,所有具有".htaccess"作用域的指令都允许出现在.htaccess文件中。

directive-type可以是下列各组指令之一:

AuthConfig  允许使用与认证授权相关的指令

FileInfo  允许使用控制文档类型的指令、控制文档元数据的指令、mod_rewrite中的指令、mod_actions中的Action指令

Indexes  允许使用控制目录索引的指令

Limit  允许使用控制主机访问的指令

Options[=Option,…]  允许使用控制指定目录功能的指令(Options和XBitHack)。可以在等号后面附加一个逗号分隔的(无空格的)Options选项列表,用来控制允许Options指令

使用哪些选项。

AllowOverride仅在不包含正则表达式的配置段中才是有效的。在, , 配置段中都是无效的。

Order:控制默认的访问状态与Allow和Deny指令生效的顺序。

Ordering取值范围是以下几种范例之一:

Deny,Allow  Deny指令在Allow指令之前被评估。默认允许所有访问。任何不匹配Deny指令或者匹配Allow指令的客户都被允许访问。

Allow,Deny  Allow指令在Deny指令之前被评估。默认拒绝所有访问。任何不匹配Allow指令或者匹配Deny指令的客户都将被禁止访问。

Mutual-failure  只有出现在Allow列表并且不出现在Deny列表中的主机才被允许访问。这种顺序与"Order Allow,Deny"具有同样效果,不赞成使用。

关键字只能用逗号分隔,它们之间不能有空格,在所有情况下每个Allow和Deny指令语句都将被评估。

Allow:控制哪些主机可以访问服务器的该区域。可以根据主机名、IP地址、 IP地址范围或其他环境变量中捕获的客户端请求特性进行控制。

语法:Allow from all|host|env=env-variable [host|env=env-variable] …

这个指令的第一个参数总是"from",随后的参数可以有三种不同形式:如果指定"Allow from all",则允许所有主机访问,按照下述Deny和Order指令的配置;若要只允许特定的主

机或主机群访问服务器,host可以用下面任何一种格式来指定:一个(部分)域名、完整的IP地址、部分IP地址、网络/掩码、网络/nnn无类别域间路由规格;第三种参数格式允许

对服务器的访问由环境变量的一个扩展指定,指定"Allow from env=env-variable"时,如果环境变量env-variable存在则访问被允许,使用由mod_setenvif提供的指令,服务器用

一种基于客户端请求的弹性方式提供了设置环境变量的能力。因此,这条指令可以用于允许基于像User-Agent(浏览器类型)、Referer或其他 HTTP请求头字段的访问。

Deny:控制哪些主机被禁止访问服务器的该区域。可以根据主机名、IP地址、 IP地址范围或其他环境变量中捕获的客户端请求特性进行控制。

语法:Deny from all|host|env=env-variable [host|env=env-variable] …

此指令的参数设置和Allow指令完全相同。

  1. DirectoryIndex:当客户端请求一个目录时寻找的资源列表。

语法:DirectoryIndex Local-url [Local-url] …

Local-url(%已解码的)是一个相对于被请求目录的文档的URL(通常是那个目录中的一个文件)。可以指定多个URL,服务器将返回最先找到的那一个,比如:

DirectoryIndex index.html index.php

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值