一:语法
<Directory path=""></Directory>
用于封装一组指令,使之仅对某个目录及其子目录生效。任何可以在"directory"作用域中使用的指令都可以使用。Directory-path可以是一个目录的完整路径,或是包含了Unix shell匹配语法的通配符字符串。
二:参数
- Options
Options FollowSymLinks Indexes MultiViews
Options可以组合设置下列选项:
All:用户可以在此目录中作任何事情。
ExecCGI:允许在此目录中执行CGI程序。
FollowSymLinks:服务器可使用符号链接指向的文件或目录。
Indexes:服务器可生成此目录的文件列表。
None:不允许访问此目录。
- AllowOverride
AllowOverride None
AllowOverride会根据设定的值决定是否读取目录中的.htaccess文件,来改变原来所设置的权限。
All:读取.htaccess文件的内容,修改原来的访问权限。
None:不读取.htaccess文件
为避免用户自行建立.htaccess文件修改访问权限,http.conf文件中默认设置每个目录为: AllowOverride None。
- AccessFileName
AccessFileName .acl
AccessFileName指令用于指定保护目录设定文件的文件名称,默认值为“.htaccess”。
- Allow
设定允许访问Apache服务器的主机
Allow from all
允许所有主机的访问
Allow from 202.96.0.97 202.96.0.98
允许来自指定IP地址主机的访问
- Deny
- Order
- Require
require all granted
允许所有访问请求
require ip 192.168.1.0/24
仅允许192.168.0.0/24网络的主机访问
require not ip 192.168.1.2
禁止192.168.1.2的主机访问,其他的都允许访问
require all denied
拒绝所有访问
Require host google.com
只允许来自特定域名主机的访问请求,其他请求将被拒绝
- FilesMatch
<FilesMatch “.php”>
require all denied
</FilesMatch>
拒绝某些访问访问
注意:原来在Apache2.2版本下用以实现网站访问控制的Order,Allow,Deny指令需要替换为新的Require访问控制指令。