.htaccess 的覆盖类索引

这是.htaccess 文件中各种AllowOverride设置所允许的指令的索引,按类组织。其预期目的是帮助服务器 Management 员验证他们授予.htaccess 用户的特权。有关.htaccess 的工作原理的概述,请参见.htaccess tutorial

要确定服务器配置允许.htaccess 用户使用的一组指令:

  • 从相关目录的AllowOverrideList中的一组指令开始。 (默认情况下,此设置为None.)

  • 找到相关目录的AllowOverride设置。 (默认情况下,它设置为None.)有两种特殊情况:

  • 如果您的AllowOverride设置为All,请将此页面上列出的每个指令添加到列表中。

    • 如果您的AllowOverride设置是None,那么您就完成了。仅允许AllowOverrideList中的指令(如果有)。
  • 对于AllowOverride中列出的每个覆盖类,请在下面查找相应的指令集并将其添加到列表中。

  • 最后,添加.htaccess 中始终允许使用的指令集(这些指令在下面的All section中列出)。

一些覆盖类非常强大,它们使.htaccess 用户可以对服务器进行大量控制。对于更严格的方法,设置AllowOverride None并使用AllowOverrideList指定允许.htaccess 用户使用的指令的确切列表。

All

只要在服务器配置中启用了替代,任何.htaccess 文件中都允许使用以下伪指令。

<Else>core
包含仅在运行时请求不满足上一个<If><ElseIf>部分的条件时才适用的指令
<ElseIf>core
包含仅在运行时请求满足条件而前一个<If><ElseIf>部分的条件不满足时才适用的指令
<Files>core
包含适用于匹配文件名的指令
<FilesMatch>core
包含适用于正则表达式匹配文件名的指令
<If>core
包含仅在运行时请求满足条件时才适用的指令
<IfDefine>core
包含仅在启动时测试为真时才处理的指令
<IfDirective>core
包含根据是否存在特定指令而处理的指令
<IfFile>core
包含仅在文件启动时才会处理的指令
<IfModule>core
包含根据特定模块是否存在而进行处理的指令
<IfSection>core
包含根据是否存在特定节指令而进行处理的指令
<IfVersion>mod_version
包含版本相关的配置
LimitRequestBodycore
限制从 Client 端发送的 HTTP 请求正文的总大小
LimitXMLRequestBodycore
限制基于 XML 的请求正文的大小
LogIOTrackTTFBmod_logio
启用到第一个字节(TTFB)的时间跟踪
LuaCodeCachemod_lua
配置编译后的代码缓存。
LuaHookAccessCheckermod_lua
为请求处理的 access_checker 阶段提供一个钩子
LuaHookAuthCheckermod_lua
为请求处理的 auth_checker 阶段提供一个钩子
LuaHookCheckUserIDmod_lua
为请求处理的 check_user_id 阶段提供一个钩子
LuaHookFixupsmod_lua
为请求处理的修正阶段提供一个钩子
LuaHookInsertFiltermod_lua
为请求处理的 insert_filter 阶段提供一个钩子
LuaHookLogmod_lua
为请求处理的访问日志阶段提供一个钩子
LuaHookMapToStoragemod_lua
为请求处理的 map_to_storage 阶段提供一个钩子
LuaHookTranslateNamemod_lua
为请求处理的翻译名称阶段提供一个钩子
LuaHookTypeCheckermod_lua
为请求处理的 type_checker 阶段提供一个钩子
LuaInheritmod_lua
控制父配置节如何合并到子级中
LuaMapHandlermod_lua
将路径 Map 到 lua 处理程序
LuaPackageCPathmod_lua
在 lua 的 package.cpath 中添加一个目录
LuaPackagePathmod_lua
在 lua 的 package.path 中添加一个目录
LuaQuickHandlermod_lua
为请求处理的快速处理程序提供一个钩子
LuaRootmod_lua
指定用于解析 mod_lua 指令的相对路径的基本路径
LuaScopemod_lua
一次,request,conn,thread 之一-默认为一次
RLimitCPUcore
限制由 Apache httpd 子级启动的进程的 CPU 消耗
RLimitMEMcore
限制由 Apache httpd 子级启动的进程的内存消耗
RLimitNPROCcore
限制 Apache httpd 子级启动的进程可以启动的进程数
ServerSignaturecore
在服务器生成的文档上配置页脚
SSIErrorMsgmod_include
SSI 错误时显示错误消息
SSITimeFormatmod_include
配置显示日期字符串的格式
SSIUndefinedEchomod_include
回显未设置的变量时显示的字符串

AuthConfig

AllowOverride AuthConfig有效时,.htaccess 文件中允许使用以下指令。它们使.htaccess 用户可以控制应用于其目录子树的身份验证和授权方法,包括用于会话处理和 TLS 设置的多个相关 Util 指令。

Anonymousmod_authn_anon
指定无需密码验证即可访问的用户标识
Anonymous_LogEmailmod_authn_anon
设置是否将 Importing 的密码记录在错误日志中
Anonymous_MustGiveEmailmod_authn_anon
指定是否允许空白密码
Anonymous_NoUserIDmod_authn_anon
设置 userID 字段是否可以为空
Anonymous_VerifyEmailmod_authn_anon
设置是否检查密码字段以获取格式正确的电子邮件地址
AuthBasicAuthoritativemod_auth_basic
设置是否将授权和身份验证传递给较低级别的模块
AuthBasicFakemod_auth_basic
使用给定的用户名和密码表达式进行假基本认证
AuthBasicProvidermod_auth_basic
设置此位置的身份验证提供程序
AuthBasicUseDigestAlgorithmmod_auth_basic
按照身份验证提供程序检查密码,就好像摘要身份验证已生效而不是基本身份验证一样。
AuthDBMGroupFilemod_authz_dbm
设置包含授权用户列表的数据库文件的名称
AuthDBMTypemod_authn_dbm
设置用于存储密码的数据库文件的类型
AuthDBMUserFilemod_authn_dbm
设置数据库文件的名称,该数据库文件包含用于身份验证的用户列表和密码
AuthDigestAlgorithmmod_auth_digest
选择用于在摘要身份验证中计算质询和响应哈希值的算法
AuthDigestDomainmod_auth_digest
处于摘要保护身份验证的相同保护空间中的 URI
AuthDigestNonceLifetimemod_auth_digest
服务器随机数有效时间
AuthDigestProvidermod_auth_digest
设置此位置的身份验证提供程序
AuthDigestQopmod_auth_digest
确定摘要认证中使用的保护质量
AuthFormAuthoritativemod_auth_form
设置是否将授权和身份验证传递给较低级别的模块
AuthFormProvidermod_auth_form
设置此位置的身份验证提供程序
AuthGroupFilemod_authz_groupfile
设置包含授权用户列表的文本文件的名称
AuthLDAPAuthorizePrefixmod_authnz_ldap
指定授权期间设置的环境变量的前缀
AuthLDAPBindAuthoritativemod_authnz_ldap
确定当可以将用户 Map 到 DN 但服务器无法成功绑定用户凭据时是否使用其他身份验证提供程序。
AuthLDAPBindDNmod_authnz_ldap
绑定到 LDAP 服务器时使用的可选 DN
AuthLDAPBindPasswordmod_authnz_ldap
与绑定 DN 结合使用的密码
AuthLDAPCompareAsUsermod_authnz_ldap
使用经过身份验证的用户的凭据执行授权比较
AuthLDAPCompareDNOnServermod_authnz_ldap
使用 LDAP 服务器比较 DN
AuthLDAPDereferenceAliasesmod_authnz_ldap
模块何时取消引用别名
AuthLDAPGroupAttributemod_authnz_ldap
LDAP 属性用于标识组的用户成员。
AuthLDAPGroupAttributeIsDNmod_authnz_ldap
检查组成员身份时使用 Client 端用户名的 DN
AuthLDAPInitialBindAsUsermod_authnz_ldap
确定服务器是否使用基本身份验证用户自己的用户名而不是匿名或使用服务器的硬编码凭据来执行初始 DN 查找
AuthLDAPInitialBindPatternmod_authnz_ldap
指定绑定到 LDAP 服务器以执行 DN 查找时要使用的基本身份验证用户名的转换
AuthLDAPMaxSubGroupDepthmod_authnz_ldap
指定在中断用户搜索之前将评估的最大子组嵌套深度。
AuthLDAPRemoteUserAttributemod_authnz_ldap
使用在用户查询期间返回的属性的值来设置 REMOTE_USER 环境变量
AuthLDAPRemoteUserIsDNmod_authnz_ldap
使用 Client 端用户名的 DN 设置 REMOTE_USER 环境变量
AuthLDAPSearchAsUsermod_authnz_ldap
使用经过身份验证的用户的凭据执行授权搜索
AuthLDAPSubGroupAttributemod_authnz_ldap
指定属性标签(每条指令行一个值),用于区分当前组中属于组的成员。
AuthLDAPSubGroupClassmod_authnz_ldap
指定哪些 LDAP objectClass 值标识在子组处理期间作为组的目录对象。
AuthLDAPURLmod_authnz_ldap
指定 LDAP 搜索参数的 URL
AuthMergingmod_authz_core
控制将每个配置部分的授权逻辑与先前配置部分的授权逻辑组合的方式。
AuthNamemod_authn_core
用于 HTTP 身份验证的授权领域
AuthnCacheProvideFormod_authn_socache
指定要为其缓存的身份验证提供程序
AuthnCacheTimeoutmod_authn_socache
设置缓存条目超时
AuthTypemod_authn_core
用户认证类型
AuthUserFilemod_authn_file
设置一个文本文件的名称,该文件包含用于身份验证的用户和密码列表
AuthzDBMTypemod_authz_dbm
设置用于存储用户组列表的数据库文件的类型
CGIPassAuthcore
启用将 HTTP 授权 Headers 作为 CGI 变量传递给脚本
LDAPReferralHopLimitmod_ldap
在终止 LDAP 查询之前要追查的最大引荐跃点数。
LDAPReferralsmod_ldap
在查询 LDAP 服务器的过程中启用引用跟踪。
<Limit>core
将封闭的访问控制限制为仅某些 HTTP 方法
<LimitExcept>core
将访问控制限制为除命名方法外的所有 HTTP 方法
Requiremod_authz_core
测试验证的用户是否被授权提供者授权。
<RequireAll>mod_authz_core
封装一组授权伪指令,其中的任何一个授权伪指令都必须失败,并且至少一个必须成功才能使封闭伪指令成功。
<RequireAny>mod_authz_core
封装一组授权指令,其中一个授权指令必须成功才能使封装指令成功。
<RequireNone>mod_authz_core
封闭一组授权伪指令,其中的任何一个授权伪指令都必须成功才能使封闭伪指令不失败。
Satisfymod_access_compat
主机级访问控制和用户身份验证之间的交互
Sessionmod_session
为当前目录或位置启用会话
SessionEnvmod_session
控制是否将会话的内容写入 HTTP_SESSION 环境变量
SessionHeadermod_session
从给定的 HTTP 响应 Headers 导入会话更新
SessionIncludemod_session
定义会话有效的 URL 前缀
SessionMaxAgemod_session
定义会话的最大年龄(以秒为单位)
SSLCipherSuitemod_ssl
密码套件可用于 SSL 握手中的协商
SSLRenegBufferSizemod_ssl
设置 SSL 重新协商缓冲区的大小
SSLRequiremod_ssl
仅在任意复杂的布尔表达式为 true 时才允许访问
SSLRequireSSLmod_ssl
未将 SSL 用于 HTTP 请求时拒绝访问
SSLUserNamemod_ssl
变量名确定用户名
SSLVerifyClientmod_ssl
Client 证书验证的类型
SSLVerifyDepthmod_ssl
Client 证书验证中 CA 证书的最大深度

FileInfo

AllowOverride FileInfo有效时,.htaccess 文件中允许使用以下指令。它们为.htaccess 用户提供了对服务器给出的响应和元数据的广泛控制。

AcceptPathInfocore
资源接受尾随路径名信息
Actionmod_actions
为特定的处理程序或 Content Type 激活 CGI 脚本
AddCharsetmod_mime
将给定的文件 extensionsMap 到指定的内容字符集
AddDefaultCharsetcore
响应 Content Type 为text/plaintext/html时要添加的默认字符集参数
AddEncodingmod_mime
将给定的文件 extensionsMap 到指定的编码类型
AddHandlermod_mime
将文件 extensionsMap 到指定的处理程序
AddInputFiltermod_mime
将文件 extensionsMap 到将处理 Client 端请求的过滤器
AddLanguagemod_mime
将给定的文件 extensionsMap 到指定的内容语言
AddOutputFiltermod_mime
将文件 extensionsMap 到将处理服务器响应的过滤器
AddOutputFilterByTypemod_filter
将输出过滤器分配给特定的媒体类型
AddTypemod_mime
将给定的文件 extensionsMap 到指定的 Content Type
BrowserMatchmod_setenvif
设置以 HTTP User-Agent 为条件的环境变量
BrowserMatchNoCasemod_setenvif
设置环境变量以用户代理为条件,不考虑大小写
CGIMapExtensioncore
为 CGI 脚本定位解释器的技术
CGIVarcore
控制如何设置某些 CGI 变量
CharsetDefaultmod_charset_lite
字符集翻译成
CharsetOptionsmod_charset_lite
配置字符集转换行为
CharsetSourceEncmod_charset_lite
文件的源字符集
CookieDomainmod_usertrack
跟踪 Cookie 适用的域
CookieExpiresmod_usertrack
跟踪 Cookie 的到期时间
CookieHTTPOnlymod_usertrack
将“ HTTPOnly”属性添加到 cookie
CookieNamemod_usertrack
跟踪 Cookie 的名称
CookieSameSitemod_usertrack
将“ SameSite”属性添加到 Cookie
CookieSecuremod_usertrack
将“安全”属性添加到 Cookie
CookieStylemod_usertrack
Cookie Headers 字段的格式
CookieTrackingmod_usertrack
启用跟踪 Cookie
DefaultLanguagemod_mime
为当前上下文中尚未通过其他方式分配语言标签的所有资源,定义要在“内容语言”Headers 字段中发送的默认语言标签。
DefaultTypecore
如果该值不是none,则此指令除了发出警告外没有其他作用。在以前的版本中,DefaultType 将指定默认媒体类型以分配给响应内容,而找不到其他媒体类型配置。
EnableMMAPcore
在传送过程中使用内存 Map 来读取文件
EnableSendfilecore
使用内核 sendfile 支持将文件传送到 Client 端
ErrorDocumentcore
发生错误时服务器将返回给 Client 端的内容
FileETagcore
用于为静态文件创建 ETag HTTP 响应 Headers 的文件属性
ForceLanguagePrioritymod_negotiation
如果找不到单个可接受的文档,应采取的措施
ForceTypecore
强制所有匹配的文件以 HTTP Content-Type Headers 字段中的指定媒体类型提供
Headermod_headers
配置 HTTP 响应头
ISAPIAppendLogToErrorsmod_isapi
将来自 ISAPI 扩展的HSE_APPEND_LOG_PARAMETER请求记录到错误日志中
ISAPIAppendLogToQuerymod_isapi
将来自 ISAPI 扩展的HSE_APPEND_LOG_PARAMETER个请求记录到查询字段中
ISAPIFakeAsyncmod_isapi
对 ISAPI 回调的虚假异步支持
ISAPILogNotSupportedmod_isapi
记录来自 ISAPI 扩展的不支持的功能请求
ISAPIReadAheadBuffermod_isapi
发送到 ISAPI 扩展的预读缓冲区的大小
LanguagePrioritymod_negotiation
在 Client 端不表达偏好的情况下语言变体的优先级
MultiviewsMatchmod_mime
使用 MultiViews 搜索匹配文件时将包括的文件类型
PassEnvmod_env
从 Shell 传递环境变量
QualifyRedirectURLcore
控制 REDIRECT_URL 环境变量是否完全合格
Redirectmod_alias
发送外部重定向,要求 Client 端获取其他 URL
RedirectMatchmod_alias
根据当前网址的正则表达式匹配发送外部重定向
RedirectPermanentmod_alias
发送外部永久重定向,要求 Client 端获取其他 URL
RedirectTempmod_alias
发送外部临时重定向,要求 Client 端获取其他 URL
RemoveCharsetmod_mime
删除一组文件 extensions 的任何字符集关联
RemoveEncodingmod_mime
删除一组文件 extensions 的任何内容编码关联
RemoveHandlermod_mime
删除一组文件 extensions 的所有处理程序关联
RemoveInputFiltermod_mime
删除一组文件 extensions 的所有 Importing 过滤器关联
RemoveLanguagemod_mime
删除一组文件 extensions 的任何语言关联
RemoveOutputFiltermod_mime
删除一组文件 extensions 的所有输出过滤器关联
RemoveTypemod_mime
删除一组文件 extensions 的任何 Content Type 关联
RequestHeadermod_headers
配置 HTTP 请求 Headers
RewriteBasemod_rewrite
设置每个目录重写的基本 URL
RewriteCondmod_rewrite
定义重写的条件
RewriteEnginemod_rewrite
启用或禁用运行时重写引擎
RewriteOptionsmod_rewrite
为重写引擎设置一些特殊选项
RewriteRulemod_rewrite
定义重写引擎的规则
ScriptInterpreterSourcecore
为 CGI 脚本定位解释器的技术
SetEnvmod_env
设置环境变量
SetEnvIfmod_setenvif
根据请求的属性设置环境变量
SetEnvIfExprmod_setenvif
根据 ap_expr 表达式设置环境变量
SetEnvIfNoCasemod_setenvif
根据请求的属性设置环境变量,而不考虑大小写
SetHandlercore
强制所有匹配文件由处理程序处理
SetInputFiltercore
设置将处理 Client 端请求和 POST Importing 的过滤器
SetOutputFiltercore
设置将处理服务器响应的过滤器
Substitutemod_substitute
用于过滤响应内容的模式
SubstituteInheritBeforemod_substitute
更改继承模式的合并 Sequences
SubstituteMaxLineLengthmod_substitute
设置最大行大小
UnsetEnvmod_env
从环境中删除变量

Indexes

AllowOverride Indexes有效时,.htaccess 文件中允许使用以下指令。它们允许.htaccess 用户控制服务器提供的目录索引页面的各个方面,包括自动索引生成。

AddAltmod_autoindex
显示文件的替代文本,而不是文件名选择的图标
AddAltByEncodingmod_autoindex
为文件显示的替代文本,而不是由 MIME 编码选择的图标
AddAltByTypemod_autoindex
为文件显示的替代文本,而不是由 MIME Content Type 选择的图标
AddDescriptionmod_autoindex
文件显示说明
AddIconmod_autoindex
为按名称选择的文件显示的图标
AddIconByEncodingmod_autoindex
在 MIME 内容编码选择的文件旁边显示的图标
AddIconByTypemod_autoindex
在 MIME Content Type 选择的文件旁边显示的图标
DefaultIconmod_autoindex
未配置任何特定图标时显示文件的图标
DirectoryCheckHandlermod_dir
切换配置另一个处理程序时此模块的响应方式
DirectoryIndexmod_dir
Client 端请求目录时要查找的资源列表
DirectoryIndexRedirectmod_dir
为目录索引配置外部重定向。
DirectorySlashmod_dir
切换尾斜杠重定向打开或关闭
ExpiresActivemod_expires
启用生成Expires个标题
ExpiresByTypemod_expires
MIME 类型配置的ExpiresHeaders 的值
ExpiresDefaultmod_expires
计算到期时间的默认算法
FallbackResourcemod_dir
为未 Map 到文件的请求定义默认 URL
HeaderNamemod_autoindex
将在索引列表顶部插入的文件名
ImapBasemod_imagemap
图片 Map 文件的默认base
ImapDefaultmod_imagemap
使用未显式 Map 的坐标调用图像 Map 时的默认操作
ImapMenumod_imagemap
调用图像 Map 时如果没有给出坐标的动作
IndexHeadInsertmod_autoindex
在索引页的 HEAD 部分插入文本。
IndexIgnoremod_autoindex
添加到列出目录时隐藏的文件列表
IndexIgnoreResetmod_autoindex
清空列出目录时要隐藏的文件列表
IndexOptionsmod_autoindex
目录索引的各种配置设置
IndexOrderDefaultmod_autoindex
设置目录索引的默认 Sequences
IndexStyleSheetmod_autoindex
将 CSS 样式表添加到目录索引
MetaDirmod_cern_meta
查找 CERN 风格的元信息文件的目录名称
MetaFilesmod_cern_meta
激活 CERN 元文件处理
MetaSuffixmod_cern_meta
包含 CERN 风格的元信息的文件的文件名后缀
ReadmeNamemod_autoindex
将在索引列表末尾插入的文件名

Limit

AllowOverride Limit有效时,.htaccess 文件中允许使用以下指令。这种极其狭窄的覆盖类型主要允许使用mod_access_compat提供的旧版授权指令。

Allowmod_access_compat
控制哪些主机可以访问服务器区域
Denymod_access_compat
控制拒绝访问服务器的主机
<Limit>core
将封闭的访问控制限制为仅某些 HTTP 方法
<LimitExcept>core
将访问控制限制为除命名方法外的所有 HTTP 方法
Ordermod_access_compat
控制默认访问状态和评估AllowDeny的 Sequences。

Options

AllowOverride Options有效时,.htaccess 文件中允许使用以下指令。它们使.htaccess 用户可以访问Options和类似的指令以及控制过滤器链的指令。

CheckCaseOnlymod_speling
将拼写模块的操作限制为大小写更正
CheckSpellingmod_speling
启用拼写模块
ContentDigestcore
启用Content-MD5 HTTP Response Headers 的生成
FilterChainmod_filter
配置过滤器链
FilterDeclaremod_filter
声明一个智能过滤器
FilterProtocolmod_filter
处理正确的 HTTP 协议处理
FilterProvidermod_filter
注册内容过滤器
Optionscore
配置特定目录中可用的功能
ReflectorHeadermod_reflector
将 Importing 标题反映到输出标题
SSLOptionsmod_ssl
配置各种 SSL 引擎运行时选项
XBitHackmod_include
使用执行位设置来解析文件中的 SSI 指令