Apache配置学习
NameVirtualHost *:80
<VirtualHost _default_:80>
DocumentRoot "/var/www/html"
</VirtualHost>
<VirtualHost *:80>
ServerName www.bookubang.com
ServerAlias www.bookubag.cn
DocumentRoot "/var/www/html/test"
<Directory /var/www/html/test>
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
<RequireAll>
Require local
</RequireAll>
</Directory>
</VirtualHost>
以上代码大概能看懂,本篇主要学习<Directory>标签内的东西
Options指令:
Indexes:服务器可以生成目录文件列表(如果根目录没有index文件,那么浏览器将自动显示根目录文件,可通过+-号来定义是否显示)
Includes:允许使用mod_include模块提供的服务器包含功能
MultiViews:允许mod_negotiation模块提供的内容协商多重试图(当客户访问“www.bookubang.com/test”时,如果目录下没有test,Apache会遍历所有包含test*的文件,如果存在test.jpg,那么将会返回给客户test.jpg,而不是错误信息)
FollowSymLinks:允许使用符号连接
All:除了MultiViews,启用所有特性,这是Options的默认设置
None:不起用任何服务器特性
ExecCGI:允许执行CGI脚本
IncludesNoExec:允许服务器端包含功能,但禁用执行CGI脚本
AllowOverride指令:
AllowOverride None:不读取目录下的.htaccess文件,这是AllowOverride默认设置
AllowOverride All:读取.htaccess文件内容
AccessFileName指令:
AccessFileName:用于指定保护目录设定文件的文件名称,默认值为“.htaccess”
Allow指令:
Allow from all:允许所有主机访问
Allow from IP地址:允许指定的IP主机访问
Deny指令(2.2版本前的指令):
Deny from all:拒绝所有主机访问
Deny from IP地址:拒绝指定的IP主机访问
Order指令(2.2版本前的指令):
例子1:
Order allow, deny
Allow from all 允许所有主机访问
例子2
Order deny, allow
Deny from www.bookubang.com
Deny from 192.168.0.100 除了bookubang.com和192.168.0.100,其余主机都能访问
例子3
Order allow, deny
Allow from 192.168.0.100 仅允许192.168.0.100访问
例子4
Order deny, allow
Allow from 192.168.0.100 允许所有主机访问
例子5
Order allow, deny
Allow from 192.168.0.0/24
Deny from 192.168.0. 100 允许192.168.0.0/24访问,拒绝192.168.0.100访问
例子6
Order deny, allow
Allow from 192.168.0.0/24
Deny from 192.168.0.100 允许所有主机访问
Require指令(2.4版本后的指令):
Require local: 允许本地访问。默认设置
require all granted:允许所有访问
require all denied:拒绝所有访问
require ip 192.168.1.0/24 仅允许192.168.1.0/24访问
require host bookubang.com 仅允许bookubang.com访问
require all granted
require not ip 192.168.1.0/24 禁止192.168.1.0/24访问,其他主机可以访问