概述:大多数容器是针对各个请求的,包含于其中的指令仅对与该容器匹配的请求起作用,而容器<IfDefine>、<IfModule>、<IfVersion>仅在启动和重新启动中起作。如果在启动时指定的条件成立,则其中的指令对所有的请求都有效,否则将被忽略。
在修改httpd.conf后必须要先停止apache再开启apache,修改后的信息才能生效
a.<Directory></Directory>(有正则表达式)
#封装一组指令,使之仅对文件空间中的某个目录及其子目录生效
<Directory"/var/www/html">
Options IndexesFollowsymLinks(允许有目录索引,允许链接文件)
OrderAllow,Deny(允许或拒绝)
AllowOverrideNone(不启用htaccess文件让用户显示--all为启用)
Deny from 192.168.1.111(拒绝此IP登陆)
Allow fromall(充许所有对这个目录的访问)
</Directory>
b.<Files></Files>(有正则表达式)
#包含作用于匹配指定文件名的指令
<Files"hello.html">
OrderDeny,Allow(先拒绝允许后允许)
Deny fromall(拒绝所有的访问)
</Files>
--拒绝所有访问hello.html
<FilesMatch.(gif|jpe?g|png)$>
Order Deny,Allow (先拒绝后允许)
Deny from all
</FilesMatch>
--拒绝访问所有的图片,但允许访问网页内容
<FilesMatch“^.ht”>
Orderallow,deny
Deny fromall
</FilesMatch>
拒绝所有以ht开头的文件都拒绝访问--其意义是禁止访问.htaccess文件
c.<Location></Location>(有正则表达式)
#将封装的指令作用于匹配的URL
<Location/pri>
</Location>
指定以pri开头的网络地址不能被访问
d.<VirtualHost></VirtualHost>
#包含仅作用于指定主机名或IP地址的指令
延伸:限制某个目录下的文件不能访问(利用嵌套)
<Directory"/var/www/html">
Options Indexes FollowSymLinks
AllowOverrideNone#禁止使用.htaccess文件
Orderallow,deny#顺序是先充许后被拒绝
allow fromall#充许所有对这个目录的访问
</Directory>