本站将逐步迁移至新站点,点击访问

Apache Options指令详解

84次阅读
一条评论

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

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

<Directory />
#指定根目录"/"启用Indexes、FollowSymLinks两种特性。
    Options Indexes FollowSymLinks
    AllowOverride all
    Order allow,deny
    Allow from all
</Directory>

Options指令的完整语法为:Options [+|-]option [[+|-]option] …。简而言之,Options指令后可以附加指定多种服务器特性,特性选项之间以空格分隔。下面我们来看看Options指令后可以附加的特性选项的具体作用及含义:

Apache配置中的内容均不区分大小写

[v_tips]All[/v_tips]

表示除MultiViews之外的所有特性。这也是Options指令的默认设置。

[v_tips]None[/v_tips]

表示不启用任何的服务器特性。

[v_tips]FollowSymLinks[/v_tips]

服务器允许在此目录中使用符号连接。如果该配置选项位于<Location>配置段中,将会被忽略。

[v_tips]Indexes[/v_tips]

如果输入的网址对应服务器上的一个文件目录,而此目录中又没有DirectoryIndex指令(例如:DirectoryIndex index.html index.php),那么服务器会返回由mod_autoindex模块生成的一个格式化后的目录列表,并列出该目录下的所有文件(如下图)。

Apache

[v_tips]MultiViews[/v_tips]

允许使用mod_negotiation模块提供内容协商的”多重视图”。简而言之,如果客户端请求的路径可能对应多种类型的文件,那么服务器将根据客户端请求的具体情况自动选择一个最匹配客户端要求的文件。例如,在服务器站点的file文件夹下中存在名为hello.jpg和hello.html的两个文件,此时用户输入Http://localhost/file/hello,如果在file文件夹下并没有hello子目录,那么服务器将会尝试在file文件夹下查找形如hello.*的文件,然后根据用户请求的具体情况返回最匹配要求的hello.jpg或者hello.html。

[v_tips]SymLinksIfOwnerMatch[/v_tips]

服务器仅在符号连接与目标文件或目录的所有者具有相同的用户ID时才使用它。简而言之,只有当符号连接和符号连接指向的目标文件或目录的所有者是同一用户时,才会使用符号连接。如果该配置选项位于<Location>配置段中,将会被忽略。

[v_tips]ExecCGI[/v_tips]

允许使用mod_cgi模块执行CGI脚本。

[v_tips]Includes[/v_tips]

允许使用mod_include模块提供的服务器端包含功能。

[v_tips]IncludesNOEXEC[/v_tips]

允许服务器端包含,但禁用”#exec cmd”和”#exec cgi”。但仍可以从ScriptAlias目录使用”#include virtual”虚拟CGI脚本。

 

 

Honest1y
版权声明:本站原创文章,由Honest1y于2017年09月25日发表,共计1858字。
转载提示:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(一条评论)
腾讯视频 评论达人LV.2
2018-06-11 10:16:43 回复

点赞