配置段容器的类型
相关模块 core mod_proxy
相关指令 <Directory> <DirectoryMatch> <Files> <FilesMatch> <IfDefine> <IfModule> <Location> <LocationMatch> <Proxy> <ProxyMatch> <VirtualHost>
相关模块 core mod_proxy
相关指令 <Directory> <DirectoryMatch> <Files> <FilesMatch> <IfDefine> <IfModule> <Location> <LocationMatch> <Proxy> <ProxyMatch> <VirtualHost>
主要讲解 <Directory>
<Files>
<Location>
1.
文件系统容器 <Directory>
<Directory>和<Files>是针对文件系统的指令。<Directory>段中的指令作用于指定的文件系统目录及其所有子目录,.htaccess 文件可以达到同样的效果。下例中,/var/web/dir1及其所有子目录被允许目录列表。
<Directory /var/web/dir1>
Options +Indexes 允许目录列表(加号允许、减号禁止)
</Directory>
<Directory /var/web/dir1>
Options FollowSysLinks 允许符号链接(在当前目录下文件 test.html 链接至其它目录文件test.html)
</Directory> (正常情况无法访问)
<Directory>和<Files>是针对文件系统的指令。<Directory>段中的指令作用于指定的文件系统目录及其所有子目录,.htaccess 文件可以达到同样的效果。下例中,/var/web/dir1及其所有子目录被允许目录列表。
<Directory /var/web/dir1>
Options +Indexes 允许目录列表(加号允许、减号禁止)
</Directory>
<Directory /var/web/dir1>
Options FollowSysLinks 允许符号链接(在当前目录下文件 test.html 链接至其它目录文件test.html)
</Directory> (正常情况无法访问)
2. <Files>
作用域
覆盖项 All
状态 核心(C)
模块 core
<Files>段中的指令作用于特定的文件名,而无论这个文件实际存在于哪个目录。
<Files>段将根据它们在配置文件中出现的顺序被处理,在<Directory>段和.htaccess文件被处理之后,但在<Location>段之前。请注意:<Files>能嵌入到<Directory>段中以限制它们作用的文件系统范围
状态
模块
<Files>段中的指令作用于特定的文件名,而无论这个文件实际存在于哪个目录。
<Files>段将根据它们在配置文件中出现的顺序被处理,在<Directory>段和.htaccess文件被处理之后,但在<Location>段之前。请注意:<Files>能嵌入到<Directory>段中以限制它们作用的文件系统范围
下例中的配置指令如果出现在配置文件的主服务器段,则会拒绝对位于任何目录下的private.html的访问。
<Files private.html>
Order allow,deny
Deny from all
</Files>
下例中的配置指令 会拒绝对任何目录下 以 .ht 类型结尾的文件。
3.
<
Files>和<Directory>段的组合可以作用于文件系统中的特定文件。
<Files>可以嵌套在<Directory>中,只限制此目录中的特定文件
下例中的配置会拒绝对
/var/web/dir1/private.html,
/var/web/dir1/subdir2/private.html,
/var/web/dir1/subdir3/private.html
等任何/var/web/dir1/目录下的private.html的访问。
<Directory /var/web/dir1>
<Files private.html>
<Files private.html>
Order allow,deny
Deny from all
</Files>
下例中的配置指令 会拒绝对任何目录下 以 .ht 类型结尾的文件。
<Files ".ht*">
Require all denied
</Files>
<Files "cat.html">
# Insert stuff that applies to cat.html here 任何配置会对cat.html 造成影响
</Files>
<Files " ?at.*">
# 这里的配置会应用于 cat.html, bat.html, hat.php 等文件
</Files>
请注意与<Directory>和<Location>配置段不同的是:<Files>配置段可用于.htaccess文件当中。这将允许用户在文件层面上控制对它们自己文件的访问。
<Files "cat.html">
# Insert stuff that applies to cat.html here 任何配置会对cat.html 造成影响
</Files>
<Files " ?at.*">
# 这里的配置会应用于 cat.html, bat.html, hat.php 等文件
</Files>
请注意与<Directory>和<Location>配置段不同的是:<Files>配置段可用于.htaccess文件当中。这将允许用户在文件层面上控制对它们自己文件的访问。
<Files>可以嵌套在<Directory>中,只限制此目录中的特定文件
下例中的配置会拒绝对
/var/web/dir1/private.html,
/var/web/dir1/subdir2/private.html,
/var/web/dir1/subdir3/private.html
等任何/var/web/dir1/目录下的private.html的访问。
<Directory /var/web/dir1>
<Files private.html>