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指令语句都将被评估。
在下面的例子中,apache.org域中所有主机都允许访问,而其他任何主机访问都被拒绝。
Order Deny,Allow
Deny from all
Allow from apache.org
下面例子中,apache.org域中所有主机,除了foo.apache.org子域包含的主机被拒绝访问以外,都允许访问。 而所有不在apache.org域中的主机都不允许访问,因为缺省状态是拒绝对服务器的访问。
Order Allow,Deny
Allow from apache.org
Deny from foo.apache.org
另一方面,如果上个例子中的Order指令改变为Deny,Allow, 将允许所有主机的访问。这是因为,不管配置文件中指令的实际顺序如何, Allow from apache.org指令会最后被评估到并覆盖之前的 Deny from foo.apache.org。所有不在apache.org 域中的主机也允许访问是因为缺省状态被改变到了允许。
即使没有伴随Allow和Deny指令,一个Order 指令的存在也会影响到服务器上某一个部分的访问, 这是由于他对缺省访问状态的影响。例如,
Order Allow,Deny
这样将会禁止所有对/www目录的访问