分类: 服务器与存储
2015-10-19 15:25:48
Options指令是Apache配置文件中一个比较常见也比较重要的指令,Options指令可以在Apache服务器核心配置(server config)、虚拟主机配置(virtual host)、特定目录配置(directory)以及.htaccess文件中使用。Options指令的主要作用是控制特定目录将启用哪些服务器特性。
Options指令常见的配置示例代码如下:
1.
2. #指定根目录"/"启用Indexes、FollowSymLinks两种特性。
3. Options Indexes FollowSymLinks
4. AllowOverride all
5. Order allow,deny
6. Allow from all
7.
Options指令的完整语法为:Options [+|-]option [[+|-]option] ...。简而言之,Options指令后可以附加指定多种服务器特性,特性选项之间以空格分隔。下面我们来看看Options指令后可以附加的特性选项的具体作用及含义(Apache配置中的内容均不区分大小写):
All 表示除MultiViews之外的所有特性。这也是Options指令的默认设置。 None 表示不启用任何的服务器特性。 FollowSymLinks 服务器允许在此目录中使用符号连接。如果该配置选项位于此外,比较细心的读者应该注意到,Options指令语法允许在配置选项前加上符号"+"或者"-",那么这到底是什么意思呢。
实际上,Apache允许在一个目录配置中设置多个Options指令。不过,一般来说,如果一个目录被多次设置了Options,则指定特性数量最多的一个Options指令会被完全接受(其它的被忽略),而各个Options指令之间并不会合并。但是如果我们在可选配置项前加上了符号"+"或"-",那么表示该可选项将会被合并。所有前面加有"+"号的可选项将强制覆盖当前的可选项设置,而所有前面有"-"号的可选项将强制从当前可选项设置中去除。你可以参考下面的例子:
1. #示例12.3. Options Indexes FollowSymLinks
4.
5.
6.7. Options Includes
8.
9. #目录/web/file/image只会被设置Includes特性1. #示例22.3. Options Indexes FollowSymLinks
4.
5.
6.
7. Options +Includes -Indexes
8.
9. #目录/web/file/image将会被设置Includes、FollowSymLinks两种特性
备注1:混合使用前面带"+"/"-"和前面不带"+"/"-"的同一可选项,可能会导致出现意料之外的结果。
备注2:使用-IncludesNOEXEC或-Includes时,不论前面如何设置,都会完全禁用服务器端包含。