【拒绝所有请求】
2.2配置:
Order deny,allow
Deny from all
2.4配置:
Require all denied
【允许所有请求】
2.2配置:
Order deny,allow
Allow from all
2.4配置:
Require all granted
【允许example.org域访问所有主机,拒绝其他主机访问。】
2.2配置:
Order Deny,Allow
Deny from all
Allow from example.org
2.4配置:
Require host example.org
【允许其他主机访问,拒绝example.org域访问所有主机】
2.2配置:
Order Deny,Allow
Allow from all
2.4配置:
<RequireAll>
Require all granted
Require not host example.org
</RequireAll>
httpd2.2虚拟主机配置
<VirtualHost *:80>
ServerAdmin admin@etiantian.com
DocumentRoot "/var/html/bbs"
ServerName bbs.etiantian.com
ErrorLog "logs/bbs.etiantian.com-error_log"
CustomLog "logs/bbs.etiantian.com-access_log" common
<Directory "/var/html/bbs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
httpd2.4虚拟主机配置
<VirtualHost *:80>
ServerAdmin pbzx@admin.com
DocumentRoot "/www/pbzx.com"
ServerName www.pbzx.com
ErrorLog "logs/pbzx.com-error_log"
CustomLog "logs/pbzx.com-access_log" common
<Directory "/www/pbzx.com">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
每个段落都是由这样的两组尖括号构成的行夹起来的,其中最主要的句子是Options,AllowOverride,Allow/Deny,Order 等。Options这个子句用来说明一些主要的设置,目前可以使用的设置有Indexes,Includes,FollowSymLinks,ExecCGI,MultiView,当然还有两个最简单的选择就是None和All。None是禁止所有选择,而All 允许上面的所有Options。一般我们主要关心的是Indexes 和FollowSymLinks。Indexes 是设定是否允许在目录下面没有index.html 的时候显示目录,而FollowSymLinks 决定是否可以通过符号连接跨越DocumentRoot。例如,尽管/ftp 不在/home/httpd/html 下面,但是我们仍然可以使用符号连接建立一个/home/httpd/html/ftp使得可以直接输入http://mydomain.com/ftp 来访问这个目录。
AllowOverride 定义是否允许各个目录用目录中的.htaccess(后面解释)覆盖这里设定的Options。它的选择有Options,FileInfo,AuthConfig,Limit 或者它们的组合,当然还有None 和All。
Order它有两种用法,即Order allow,deny 或者Order deny,allow。简单地说,它用来设置是先执行deny 还是先执行allow,例如,Order deny,allow 意味着先看deny 行,再看allow 行,这样如果deny from all 再allow from 202.112.58.0/24 后来的allow子句就会超越deny 而对202.112.58.x 打开访问。