指令控制了在特定目录中将使用哪些服务器特性。Options属性有一个非常特别的功能: 如果你没有用“+”或者“-”来增加或者减少一个功能的时候,每个之前定义的Options的所有功能都会被取消, 直到你又为它指定一些功能。所以options属性在整体设置和虚拟主机设置的是不相关的, 互相不起作用,因为他们在特定的范围内被重载了。 如果要在虚拟主机里面使用在整体设置中的Options的设置, 那么就不要在虚拟主机设置中指定Options属性。如果要增加或者减少功能, 那么用“+”或者“-”符号来实 Options 指令控制了在特定目录中将使用哪些服务器特性。 可选项能设置为 None ,在这种情况下,将不启用任何额外特性。或设置为以下选项中的一个或多个:
All 除MultiViews之外的所有特性。这是默认设置。
ExecCGI 允许执行CGI脚本.
FollowSymLinks 服务器会在此目录中使用符号连接。 注意:即便服务器会使用符号连接,但它不会改变用于匹配<Directory>配置段的路径名。 如果此配置位于<Location>配置段中,则此设置会被忽略。
Includes 允许服务器端包含。
IncludesNOEXEC 允许服务器端包含,但禁用#exec命令和#exec CGI。但仍可以从ScriptAliase目录使用#include 虚拟CGI脚本。
Indexes 如果一个映射到目录的URL被请求,而此目录中又没有DirectoryIndex(例如:index.html),那么服务器会返回一个格式化后的目录 列表。
MultiViews 允许内容协商的多重视图。
SymLinksIfOwnerMatch 服务器仅在符号连接与其目的目录或文件拥有者具有同样的用户id时才使用它。 注意:如果此配置出现在<Location>配置段中,此选项将被忽略。 一般来说,如果一个目录被多次设置了 Options ,则最特殊的一个会被完全接受,而各个可选项的设定彼此并不融合。然而,如果所有施用于 Options 指令的可选项前都加有+或-符号,此可选项将被合并。所有前面加有+号的可选项将强制覆盖当前可选项设置,而所有前面有-号的可选项将强制从当前可选项设置中去除。
比如说,没有任何+和-符号:
<Directory /web/docs>
Options Indexes FollowSymLinks
</Directory>
<Directory /web/docs/spec>
Options Includes
</Directory>
复制代码
则只有 Includes 设置到/web/docs/spec目录上。
然而如果第二个 Options 指令使用了+和-符号:
<Directory /web/docs>
Options Indexes FollowSymLinks
</Directory>
<Directory /web/docs/spec>
Options +Includes -Indexes
</Directory>
复制代码
那么就会有 FollowSymLinks 和 Includes 设置到/web/docs/spec目录上。