Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 架构 > Apache > 正文

Apache服务器Directory配置指令解析

时间:2014-06-28 23:14 来源:网络整理 作者:51ou.com 阅读:

说明        封装一组指令,使之仅对文件空间中的某个目录及其子目录生效
语法        <Directory directory-path> ... </Directory>
作用域        server config, virtual host
状态        核心(C)
模块        core

<Directory>和</Directory>用于封装一组指令,使之仅对某个目录及其子目录生效。任何可以在"directory"作用域中使用的指令都可以使用。Directory-path可以是一个目录的完整路径,或是包含了Unix shell匹配语法的通配符字符串。在通配符字符串中,"?"匹配任何单个的字符,"*"匹配任何字符序列。您也可以使用"[]"来确定字符范围。以上通配符都不能匹配"http://www.server110.com/"字符。所以<Directory /*/public_html>将无法匹配/home/user/public_html ,但<Directory /home/*/public_html>能够正确匹配。比如说:

<Directory "/usr/local/httpd/htdocs">
Options Indexes FollowSymLinks
</Directory>

使用directory-path参数的时候要注意:它们必须与Apache用于访问文件的文件系统路径保持一致。赋予特定<Directory>的指令将无法对通过不同路径指向的同一个目录文件生效,比如说通过另外一个符号连接生成的路径。

扩展的正则表达式也可以通过附加一个"~"字符来使用。比如说:

<Directory ~ "^/www/(.+/)*[0-9]{3}">

将匹配/www/下所有由3个数字组成的目录。

如果有多个(非正则表达式)<Directory>配置段符合包含某文档的目录(或其父目录),那么指令将以短目录优先的规则进行应用。并包含.htaccess文件中的指令。比如说在

<Directory />
AllowOverride None
</Directory>

<Directory "/home/">
AllowOverride FileInfo
</Directory>

中,访问文档/home/web/dir/doc.html的步骤如下:

    * 应用指令AllowOverride None(禁用.htaccess文件)。
    * 应用指令AllowOverride FileInfo(针对/home目录)。
* 按顺序应用所有/home/.htaccess 、/home/web/.htaccess 、/home/web/dir/.htaccess中的FileInfo组指令。

正则表达式将在所有普通配置段之后予以考虑。所有的正则表达式将根据它们出现在配置文件中的顺序进行应用。比如说,以下配置:

<Directory ~ abc$>
# ......
</Directory>

正则表达式配置段将在所有普通的<Directory>和.htaccess文件应用之后才予以考虑。所以正则表达式将匹配/home/abc/public_html/abc并予以应用。

请注意:Apache对<Directory />的默认访问权限为"Allow from All"。这意味着Apache将伺服任何通过URL映射的文件。我们建议您将这个配置做如下屏蔽:

<Directory />
Order Deny,Allow
Deny from All
</Directory>

感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《Apache服务器Directory配置指令解析》技术文章,《Apache服务器Directory配置指令解析》详细使用和说明,有时《Apache服务器Directory配置指令解析》可能不完善、敬请谅解!如果《Apache服务器Directory配置指令解析》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
验证码:点击我更换图片