Apache Options指令详解

2023-05-16

Options指令是Apache配置文件中一个比较常见也比较重要的指令,Options指令可以在Apache服务器核心配置(server 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 from 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模块生成的一个格式化后的目录列表,并列出该目录下的所有文件(如下图)。

Options Indexes指令作用效果

MultiViews
允许使用 mod_negotiation模块提供内容协商的"多重视图"。简而言之,如果客户端请求的路径可能对应多种类型的文件,那么服务器将根据客户端请求的具体情况自动选择一个最匹配客户端要求的文件。例如,在服务器站点的 file文件夹下中存在名为 hello.jpghello.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. <Directory /web/file/image>
  6. Options Includes
  7. </Directory>
  8. #目录/web/file/image只会被设置Includes特性

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Apache Options指令详解 的相关文章

  • Nginx vs Apache 用于高流量站点

    Would nginx作为高流量网站的网络服务器是否是更合适的选择 我们将建立的网站是一个电子商务网站 如果这有什么不同的话 无论哪种方式 从技术角度来看 我真的对实际的 原因 感兴趣 即 为什么会nginx从技术角度来看 对于此类网站来说
  • Mongrel::DirHandler 相当于 Passenger

    我正在使用 Mongrel DirHandler 来控制静态文件的响应标头 这在我的开发机器上效果很好 我的生产机器使用 Passenger 因此我的标头未设置 使用 Passenger 时如何控制静态文件的标头 我的环境中的片段 rb i
  • mod_fcgid + PHP + apache 锁定

    我正在运行一个相当典型的 LAMP 堆栈 其中 PHP 通过 mod fcgid 运行 考虑到服务器收到的流量 我认为服务器处于 高负载 状态 存在一个间歇性问题 当访问依赖 PHP 的站点时 Apache 报告所有连接都处于 正在发送内容
  • PHP/Apache 中的输出缓冲块如何工作?

    假设我将随机数据从 PHP 回显到浏览器 随机数据总量约为 XGb 回显以 YKb 块的形式完成 不使用 ob start PHP 和 Apache 缓冲区已满后 echo 调用是否会阻塞 客户端无法以与生成数据相同的速度使用数据 如果是
  • 如何防止文件被直接 URL 访问?

    我正在使用 Apache 并且我的目录中有一个示例 Web 文件夹本地主机 喜欢 http localhost test 文件位于test文件夹 index html sample jpg htaccess 样本来源index html i
  • NGINX 与 Tomcat 配置

    我是 Nginx 新手 我需要你的帮助 根据很多论坛我了解到我们所有的静态页面都存储在Nginx中 当有请求到来时 我必须将该请求传递给 tomcat 获取数据 并在 tomcat 生成响应后生成响应 目前 我刚刚做到了 我将请求直接传递给
  • 如何使用 Apache HttpClient 4 获取文件上传的进度条?

    我有以下用于使用 Apache 的 HTTP Client org apache http client 上传文件的代码 public static void main String args throws Exception String
  • 使用 Nginx 或 Apache 来提供动态内容? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • git-http-backend 与 AuthzUnixGroup 无法正常工作

    我正在尝试在 CentOS 6 机器上的 Apache 2 2 上设置一个 git 存储库 并安装了 git 我尝试过许多不同的方向 但我却不知所措 我目前的情况包括能够clone正常 但完全无法推动 似乎我无法使身份验证位正常工作 因为我
  • 为什么 Xampp 控制面板在启动时显示错误访问被拒绝 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我的 Xampp 控制面板遇到问题 当我尝试启动它时 它会弹出一条错误消息 错误 无法创建文件 C xampp xampp control
  • 在 XAMPP 上设置虚拟主机

    我已经在 Ubuntu 上的 opt lampp 目录中安装了 XAMPP 并且想要设置一些虚拟主机 Apache 虚拟主机教程说明放置
  • Django 与 mod_wsgi 在 apache - 500 错误:Authtype 未设置?

    尝试在 Dreamhost 上部署我的第一个 django 站点 我的这个工作正常 然后我不确定我做了什么让它停止工作 这是错误消息 crit client 74 72 99 26 configuration error couldn t
  • 在 Apache 上设置 websocket?

    所以我正在对 websockets 进行一些研究 我有几个问题似乎找不到明确的答案 如何在 Linux 服务器上设置 Web 套接字 有 Apache 模块吗 我可以吗have使用第 3 方 PHP 代码或类似代码 除了浏览器兼容性之外 问
  • 请求标头与响应标头

    我正在尝试将图像缓存在网站上 该图像由 PHP 提供服务 其中我使用适当的值设置缓存控制的响应标头 但这不是缓存图像 我认为这可能与具有无缓存缓存控制的请求标头有关 标题如下 响应头 Access Control Allow Origin
  • SSE(EventSource):为什么不超过6个连接?

    我想看看在我的机器超载之前我可以设置多少个并发 SSE 又名 EventSource 连接 但使用 Firefox Firefox 18 或 Firefox 20 进行测试时 它在 6 个连接处停止 附加连接没有给出错误 但不发送任何数据
  • htaccess - XAMPP 上的互联网服务器错误 500 [已关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我尝试在 XAMPP 上运行脚本 但收到 互联网服务器错误 500 在实时服务器上运行时效果很好 我认为这是一个 htaccess 错误 htacce
  • 未经编辑,无法在 pptx 中的 BarChart 中查看 Apache POI 更新的数据值

    我有一个 pptx 模板 它只有一张用于测试目的的幻灯片 该幻灯片有一个简单的条形图 我可以通过在 pptx 文件上双击条形图来编辑条形图 并且可以更改 Sheet1 条形图数据表 中的值 并且我可以立即在条形图中看到更改 现在 我尝试使用
  • 使用 dockerfile 在 docker 中安装 mongodb 驱动

    我有一个 mongodb docker 容器 我需要另一个安装了 php 和 apache 的 docker 容器 我想从这个容器运行一个 php 脚本并将一些数据发送到 mongodb 容器以将数据保存在 mongodb 数据库中 所以我
  • PHP和.htaccess认证解决方案

    这是布局 web root admin dir index php js img other files dirs dir files 到目前为止 我使用 htaccess passwd 保护管理目录 因为我希望对该目录中的所有文件 包括
  • 如何找到 httpd.conf 文件所在的位置?

    如何找到 apache PHP 上 httpd conf 文件的路径 我不知道我的脚本是否会在Windows apache或Linux中运行 我需要知道在哪里可以找到这个文件 以便从那里找到参数 谢谢 我认为它没有接触 PHP 跑步http

随机推荐

  • 测试人员应该知道的Redis知识(六) Set

    一 概述 Redis 的 Set 是 String 类型的无序集合 集合成员是唯一的 xff0c 这就意味着集合中不能出现重复的数据 Redis 中集合是通过哈希表实现的 xff0c 所以添加 xff0c 删除 xff0c 查找的复杂度都是
  • OpenPCDet初级教程【自定义模型、loss】

    最近在研究点云物体检测 xff0c 基于OpenPCDet框架进行算法开发可以节约大量的重复性工作 xff0c 专心集中在核心算法的设计上 xff0c 大量节约时间 同时 xff0c 因为框架由大公司专业团队进行维护 xff0c 代码质量稳
  • NFS

    NFS Server apt install nfs kernel server nfs common y vim etc exports etc exports the access control list for filesystem
  • (深入理解计算机系统) bss段,data段、text段、堆(heap)和栈(stack)

    文章目录 bssdatatextheapstack总结例子 bss bss段 xff08 bss segment xff09 通常是指用来存放程序中未初始化的全局变量的一块内存区域 bss是英文Block Started by Symbol
  • linux学习43-HTTP服务和APACHE2

    HTTP服务和APACHE2 知识点 请求报文响应报文错误码请求重定向编译安装实现httpscurl工具 1 http协议 http协议版本 http 0 9 http 1 0 http 1 1 xff08 较多 xff09 http 2
  • Ubuntu20.4安装QT6

    前言 xff1a 本教程基于Ubuntu20 4 xff0c 在Ubuntu22 4上也测试过 Ubuntu18 04由于GCC版本太低 xff0c 无法正常工作 1 下载QT安装程序 xff1a Open Source Developme
  • sublime安装教程并配置C++环境

    sublime安装教程并配置C 43 43 环境 sublime安装教程并配置C 43 43 环境前言下载sublime配置C 43 43 环境 sublime安装教程并配置C 43 43 环境 前言 最近将电脑重新安装 xff0c 配置s
  • PHP call_user_func_array回调函数 call_user_func_array函数详解

    call user func array PHP官方 call user func array讲解 call user func array PHP 4 gt 61 4 0 4 PHP 5 PHP 7 call user func arra
  • MicroPython 链接WiFi ESP32连WiFi

    这里 gt gt gt gt MicroPython 教程写的非常好强烈推荐 import network import socket import time SSID 61 34 abc 34 修改为你的WiFi名称 PASSWORD 6
  • ESP32 arduino 天气显示 后台可控制 定时消息提示 图片提示

    ESP32 arduino 天气显示 后台可控制 定时消息提示 图片提示 后台操作界面 添加图片显示 添加文字轮播 用到的 H库 include lt WiFi h gt include lt ESPmDNS h gt include lt
  • python subprocess子进程

    import subprocess cmd lx 61 subprocess Popen cmd rtmp encoding 61 34 utf 8 34 shell 61 True sg SystemTray notify 39 开播成功
  • python 获取可用视频列表 和麦克风列表

    import re import subprocess cmd 61 39 ffmpeg 39 39 list devices 39 39 true 39 39 f 39 39 dshow 39 39 i 39 39 dummy 39 de
  • python ffmpeg直播客户端

    import PySimpleGUI as sg import sys import json import os import requests import subprocess import pygame camera import
  • 动物类的继承

    动物类的继承 要求 xff1a 1 在一个名为Test java的文件中定义四个类 xff1a 动物类Animal xff0c 狗类Dog和猫类Cat继承Animal xff0c 测试类Test xff0c 要求编写代码的同时编写简单注释
  • ffmpeg命令操作 合并视频 取图片帧数 获取音频

    ffmpeg安装 点击这里跳转 官方 wins安装的话要添加 环境变量转载点击这里 ffmpeg命令操作 合并视频 取图片帧数 1 获取视频内的图片 ffmpeg i input mp4 r 15 q v 2 f image2 img 04
  • JS 使用 lz-string存储 数据压缩

    浏览器localStorage存储为 5M 然而并不能满足我们的要求 我们可以压缩的是您可以存储的更多数据 好在JS 有lz string 库 引入库 lt script src 61 34 https cdn bootcss com lz
  • USB开发者模式 安卓 adb操作 + 安装

    USB开发者模式 安卓 adb操作 43 安装 这是adb 安装 xff01 xff01 xff01 xff01 xff01 xff01 xff01 xff01 xff01 xff01 xff01 xff01 不是gdb 安装 adb 下载
  • python控制 鼠标移动 pyautogui || PyMouse 自动化

    python控制 鼠标移动 pyautogui PyMouse 自动化 方法1 pyautogui 安装 pip install pyautogui文档基本操作指令 gui PAUSE 61 0 5 每次函数调用后暂停0 5秒 gui FA
  • PHP 图片去除水印 去除logo

    使用插件 ffmpeg 点这里 不使用插件 也可以 lt php function CLEAR ICO filename savename Clear W Clear H Clear X Clear Y filename 61 读取图片名
  • Apache Options指令详解

    Options指令是Apache配置文件中一个比较常见也比较重要的指令 xff0c Options指令可以在Apache服务器核心配置 server config 虚拟主机 配置 virtual host 特定目录配置 directory