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访问,其他主机可以访问