Options指令是Apache的功能开关,控制目录特性如索引列表、软链接解析等,需配合Require等权限指令生效;常用值包括All、None、FollowSymLinks、Indexes、ExecCGI等,推荐显式配置并禁用高风险选项。
apache 的 options 指令用于控制特定目录下允许启用的服务器特性,直接影响目录行为(如是否显示文件列表、能否跟随软链接等)。它不是权限开关,而是功能开关,必须配合 require 或旧版 allow/deny 才能真正生效。
最常用的核心选项
以下选项可单独使用,也可组合(空格分隔),支持前缀 + 或 - 增减特性(例如 Options +Indexes -ExecCGI):
-
All:启用除
MultiViews外所有特性(默认值) - None:禁用全部特性(最严格,常用于安全加固)
- FollowSymLinks:允许 Apache 解析并跳转到符号链接指向的目标路径
- Indexes:当目录中无索引页(如 index.html)时,自动生成并显示目录文件列表
-
ExecCGI:允许执行 CGI 脚本(需同时启用
mod_cgi或mod_cgid) -
Includes:启用服务端包含(SSI),允许解析
<!--#include -->等指令
需谨慎使用的高风险选项
这些选项在多数生产环境应明确禁用,除非业务强依赖:
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
-
SymLinksIfOwnerMatch:仅当符号链接与目标文件属主相同时才允许跳转(比
FollowSymLinks更安全,但性能略低) -
MultiViews:启用内容协商,根据请求头自动匹配相似文件名(如请求
/page可返回page.html或page.php),易引发意料外行为 - ExecCGI 和 Includes 若未严格限制目录或输入,可能成为代码执行入口点
常见配置组合示例
实际配置中推荐显式声明,避免依赖默认值:
- 静态网站根目录:
Options FollowSymLinks(允许软链,禁用目录列表和脚本执行) - 开发测试目录(需查看结构):
Options Indexes FollowSymLinks - 上传后处理目录(含 CGI):
Options ExecCGI FollowSymLinks+AddHandler cgi-script .cgi .pl - 严格安全策略:
Options None+ 显式启用所需特性(如后续加+Includes)
注意事项
Options 必须写在 <Directory>、<Location> 或 .htaccess 中才有效;在 <Location> 中,FollowSymLinks 会被忽略。Apache 2.4+ 默认不启用 Indexes,若需目录列表,务必显式添加。

















