<-
Apache HTTP 服务器 2.4 > Apache模块mod_dir

Apache模块mod_dir

描述:提供“尾随斜杠”重定向并提供目录索引文件
状态:基础
模块标识符:dir_module
源文件:mod_dir.c

摘要

目录的索引可以来自两个来源之一:

这两个功能是分开的,因此您可以根据需要完全删除(或替换)自动索引生成。

当服务器收到一个URL请求的“斜线”重定向发出 http://servername/foo/dirname那里 dirname是一个目录。目录要求末尾加斜杠,因此mod_dir发出重定向到 http://servername/foo/dirname/

支持Apache!

指令

错误修正清单

也可以看看

最佳

DirectoryCheckHandler 指令

描述:切换配置其他处理程序时此模块的响应方式
句法:DirectoryCheckHandler On|Off
默认:DirectoryCheckHandler Off
内容:服务器配置,虚拟主机,目录,.htaccess
覆写:指标
状态:基础
模块:mod_dir
兼容性:在2.4.8及更高版本中可用。2.4之前的版本隐式地充当好像指定了“ DirectoryCheckHandler ON”。

DirectoryCheckHandler指令确定mod_dir在为当前URL配置了其他处理程序时是应该检查目录索引还是添加斜杠。可以通过指令(例如)SetHandler或通过其他模块(例如mod_rewrite在按目录替换期间)设置处理程序 。

在2.4之前的版本中,如果为URL配置了任何其他处理程序,则此模块不执行任何操作。即使SetHandler为整个目录指定了指令,这也可以为目录索引提供服务,但也会导致与诸如的模块发生某些冲突mod_rewrite

最佳

DirectoryIndex 指令

描述:客户端请求目录时要查找的资源列表
句法:DirectoryIndex disabled | local-url [local-url] ...
默认:DirectoryIndex index.html
内容:服务器配置,虚拟主机,目录,.htaccess
覆写:指标
状态:基础
模块:mod_dir

DirectoryIndex当客户端通过在目录名称末尾指定/来请求目录索引时,该伪指令设置要查找的资源列表。 Local-url是服务器上文档相对于所请求目录的(%编码)URL;它通常是目录中文件的名称。可能会提供几个URL,在这种情况下,服务器将返回它找到的第一个URL。如果不存在任何资源并且Indexes设置了该选项,则服务器将生成其自己的目录列表。

DirectoryIndex index.html

则如果存在,则http://example.com/docs/返回的请求,http://example.com/docs/index.html如果不存在,则列出目录。

请注意,文档不需要相对于目录。

DirectoryIndex index.html index.txt  /cgi-bin/index.pl

将导致CGI脚本/cgi-bin/index.pl来执行,如果没有index.htmlindex.txt 目录中的存在。

单个参数“ disabled”可防止mod_dir搜索索引。如果参数“ disabled”在其之前或之后具有任何参数,则将按字面意义进行解释,即使它们也是“ disabled”。

注意:同一上下文中的多个DirectoryIndex 指令将添加到要查找而不是替换的资源列表中:

# Example A: Set index.html as an index page, then add index.php to that list as well.
<Directory "/foo">
    DirectoryIndex index.html
    DirectoryIndex index.php
</Directory>

# Example B: This is identical to example A, except it's done with a single directive.
<Directory "/foo">
    DirectoryIndex index.html index.php
</Directory>

# Example C: To replace the list, you must explicitly reset it first:
# In this example, only index.php will remain as an index resource.
<Directory "/foo">
    DirectoryIndex index.html
    DirectoryIndex disabled
    DirectoryIndex index.php
</Directory>
最佳

DirectoryIndexRedirect 指令

描述:为目录索引配置外部重定向。
句法:DirectoryIndexRedirect on | off | permanent | temp | seeother | 3xx-code
默认:DirectoryIndexRedirect off
内容:服务器配置,虚拟主机,目录,.htaccess
覆写:指标
状态:基础
模块:mod_dir
兼容性:在2.3.14版和更高版本中可用

默认情况下,DirectoryIndex选中,并透明地返回给客户端。 DirectoryIndexRedirect导致发出外部重定向。

参数可以是:

DirectoryIndexRedirect on

的请求http://example.com/docs/将返回一个临时重定向(http://example.com/docs/index.html 如果存在)。

最佳

DirectorySlash 指令

描述:切换尾部斜杠重定向打开或关闭
句法:DirectorySlash On|Off
默认:DirectorySlash On
内容:服务器配置,虚拟主机,目录,.htaccess
覆写:指标
状态:基础
模块:mod_dir

DirectorySlash指令确定是否 mod_dir应修正指向目录的URL。

通常,如果用户请求的资源不带斜杠(指向目录),mod_dir则将其重定向到相同的资源,但斜杠(出于某些原因):

如果您不希望这种效果,并且上述原因不适用于您,则可以关闭重定向,如下所示。但是,请注意,这样做可能会带来安全隐患。

# see security warning below!
<Location "/some/path">
    DirectorySlash Off
    SetHandler some-handler
</Location>

安全警告

关闭结尾的斜杠重定向可能会导致信息泄露。考虑一种情况,其中mod_autoindexactive(Options +Indexes)并DirectoryIndex设置为有效资源(例如 index.html),并且没有为该URL定义其他特殊处理程序。在这种情况下,带有斜杠的请求将显示该 index.html文件。但是没有斜杠的请求将列出目录内容

还要注意,在发出重定向时,某些浏览器可能会将POST请求错误地更改为GET(从而丢弃POST数据)。

最佳

后备资源 指令

描述:为未映射到文件的请求定义默认URL
句法:FallbackResource disabled | local-url
默认:disabled - httpd will return 404 (Not Found)
内容:服务器配置,虚拟主机,目录,.htaccess
覆写:指标
状态:基础
模块:mod_dir
兼容性:disabled参数在2.4.4和更高版本中可用

使用此方法可为未映射到文件系统中任何内容的任何URL设置处理程序,否则将返回HTTP 404(未找到)。例如

FallbackResource /not-404.php

将导致对不存在文件的not-404.php请求由处理 ,而对已存在文件的请求不受影响。

通常希望有一个文件或资源来处理对特定目录的所有请求,但与现有文件或脚本相对应的那些请求除外。这通常称为“前端控制器”。

在httpd的早期版本中,通常需要mod_rewrite使用此效果 ,并使用-f-d测试文件和目录的存在。现在这仅需要一行配置。

FallbackResource /index.php

现有文件(例如图像,css文件等)将正常提供。

disabled如果不需要从父目录继承,请使用参数禁用该功能。

在子URI中(例如http://example.com/blog/),子URI必须作为local-url提供

<Directory "/web/example.com/htdocs/blog">
    FallbackResource /blog/index.php
</Directory>
<Directory "/web/example.com/htdocs/blog/images">
    FallbackResource disabled
</Directory>

后备处理程序(在上述情况下/blog/index.php)可以通过server变量访问原始请求的URL REQUEST_URI。例如,要在PHP中访问此变量,请使用$_SERVER['REQUEST_URI']

可用语言: zh  |  fr  |  ja  |  ko  |  TR 

最佳

注释

注意:
这不是“问答”部分。此处放置的评论应指向有关改进文档或服务器的建议,如果实施或被认为无效/偏离主题,我们的主持人可以将其删除。有关如何管理Apache HTTP Server的问题,应直接指向我们的IRC频道#httpd(位于Freenode上),或发送至我们的邮件列表
目前,此页面已禁用评论。