博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
**Apache Options指令详解
阅读量:5983 次
发布时间:2019-06-20

本文共 2265 字,大约阅读时间需要 7 分钟。

http://www.365mini.com/page/apache-options-directive.htm

Options指令是Apache配置文件中一个比较常见也比较重要的指令,Options指令可以在Apache服务器核心配置( config)、配置(virtual host)、特定目录配置(directory)以及.htaccess文件中使用。Options指令的主要作用是控制特定目录将启用哪些服务器特性。

Options指令常见的配置示例代码如下:

  1. <Directory />
  2. #指定根目录"/"启用Indexes、FollowSymLinks两种特性。
  3.     Options Indexes FollowSymLinks
  4.     AllowOverride all
  5.     Order allow,deny
  6.     Allow all
  7. </Directory>

Options指令的完整语法为:Options [+|-]option [[+|-]option] ...。简而言之,Options指令后可以附加指定多种服务器特性,特性选项之间以空格分隔。下面我们来看看Options指令后可以附加的特性选项的具体作用及含义(Apache配置中的内容均不区分大小写):

All
表示除
MultiViews之外的所有特性。这也是Options指令的
默认设置
None
表示不启用任何的 特性。
FollowSymLinks
服务器允许在此目录中使用符号连接。如果该配置选项位于
<Location>配置段中,将会被忽略。
Indexes
如果输入的网址对应服务器上的一个文件目录,而此目录中又没有
DirectoryIndex指令(例如:
DirectoryIndex index.html index.php),那么服务器会返回由
mod_autoindex模块生成的一个格式化后的目录列表,并列出该目录下的所有文件(如下图)。

MultiViews
允许使用
mod_negotiation模块提供内容协商的"多重视图"。简而言之,如果客户端请求的路径可能对应多种类型的文件,那么服务器将根据客户端请求的具体情况自动选择一个最匹配客户端要求的文件。例如,在服务器站点的
file文件夹下中存在名为
hello.jpg
hello.html的两个文件,此时用户输入
Http://localhost/file/hello,如果在
file文件夹下并没有
hello子目录,那么服务器将会尝试在
file 下查找形如
hello.*的文件,然后根据用户请求的具体情况返回最匹配要求的
hello.jpg或者
hello.html
SymLinksIfOwnerMatch
仅在符号连接与目标文件或目录的所有者具有相同的用户ID时才使用它。简而言之,只有当符号连接和符号连接指向的目标文件或目录的所有者是同一用户时,才会使用符号连接。如果该配置选项位于
<Location>配置段中,将会被忽略。
ExecCGI
允许使用
mod_cgi模块执行CGI脚本。
Includes
允许使用
mod_include模块提供的服务器端包含功能。
IncludesNOEXEC
允许 包含,但禁用"#exec cmd"和"#exec cgi"。但仍可以从
ScriptAlias目录使用"#include virtual"虚拟CGI脚本。

此外,比较细心的读者应该注意到,Options指令语法允许在配置选项前加上符号"+"或者"-",那么这到底是什么意思呢。

实际上,Apache允许在一个目录配置中设置多个Options指令。不过,一般来说,如果一个目录被多次设置了Options,则指定特性数量最多的一个Options指令会被完全接受(其它的被忽略),而各个Options指令之间并不会合并。但是如果我们在可选配置项前加上了符号"+"或"-",那么表示该可选项将会被合并。所有前面加有"+"号的可选项将强制覆盖当前的可选项设置,而所有前面有"-"号的可选项将强制从当前可选项设置中去除。你可以参考下面的例子:

  1. #示例1
  2. <Directory /web/file>
  3. Options Indexes FollowSymLinks
  4. </Directory>
  5.  
  6. <Directory /web/file/image>
  7. Options Includes
  8. </Directory>
  9. #目录/web/file/image只会被设置Includes特性
  1. #示例2
  2. <Directory /web/file>
  3. Options Indexes FollowSymLinks
  4. </Directory>
  5.  
  6. <Directory /web/file/image>
  7. Options +Includes -Indexes
  8. </Directory>
  9. #目录/web/file/image将会被设置IncludesFollowSymLinks两种特性

备注1:混合使用前面带"+"/"-"和前面不带"+"/"-"的同一可选项,可能会导致出现意料之外的结果。

备注2:使用-IncludesNOEXEC-Includes时,不论前面如何设置,都会完全禁用包含。

如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/
你可能感兴趣的文章
讲解sed用法入门帖子
查看>>
Linux 内核已支持苹果
查看>>
【二叉树系列】二叉树课程大作业
查看>>
ASP.NET Core 2 学习笔记(三)中间件
查看>>
hbase region split源码分析
查看>>
SurfControl人工智能新突破 领跑反垃圾邮件
查看>>
一个动态ACL的案例
查看>>
openstack 之 windows server 2008镜像制作
查看>>
VI快捷键攻略
查看>>
漫谈几种反编译对抗技术
查看>>
CMD 修改Host文件 BAT
查看>>
android幻灯片效果实现-Gallery
查看>>
实现Instagram的Material Design概念设计
查看>>
CentOS 6.x 快速安装L2TP ***
查看>>
一篇文章能够看懂基础源代码之JAVA篇
查看>>
Goldengate双向复制配置
查看>>
Oracle官方内部MAA教程
查看>>
DNS相关配置
查看>>
miniWindbg 功能
查看>>
《Cisco IPv6网络实现技术(修订版)》一2.6 配置练习:使用Cisco路由器配置一个IPv6网络...
查看>>