在httpd配置文件中,要实现访问控制可以基于文件系统或者URL路径来进行 文件系统路径: 1、针对网站目录进行访问控制<Directory "">...</Directory> 2、针对某单一文件进行访问控制 <File "">...</File> 3、使用正则表达式对某些文件进行访问控制<FileMatch "PATTERN">...</FileMatch> URL路径: <Location "">...</Location> 在新的Apache2.4版本中,其访问控制的配置语法与Apache2.2不同。在Apache2.2版本中,访问控制是基于客户端的主机名、IP地址以及客户端请求中的其他特征,使用Order(排序),Allow(允许),Deny(拒绝)指令来实现,被拒绝后的用户访问页面会提示403错误。在Apache2.4版本中,使用mod_authz_host模块实现访问控制。如下是一些示例以示区别: 实例1:所有请求都被拒绝 Apache2.2配置:Order deny,allow #排序,先拒绝后允许Deny from all #拒绝所有Apache2.4 配置:Require all denied #拒绝所有 实例2:所有请求都被允许 Apache2.2 配置:Order allow,deny #排序,先允许后拒绝Allow from all #允许所有Apache2.4 配置:Require all granted #允许所有 实例3:example.com所有请求都被允许,其他拒绝 Apache2.2 配置:Order Deny,Allow #排序,先拒绝后允许Deny from all #拒绝所有Allow from example.com #允许example.comApache2.4 配置:Require host example.org #用host来指定主机名,也可以用ip来替代host标签,这样后面就需要跟上对应ip信息实例4:允许所有主机访问,仅拒绝某主机 Apache2.4 配置:<RequireAll> #需要增加一个容器require all grantedrequire not ip 192.168.100.10</RequireAll>