SetHandler 指令
描述: | 强制所有匹配文件由处理程序处理 |
---|---|
句法: | SetHandler handler-name|none|expression |
内容: | 服务器配置,虚拟主机,目录,.htaccess |
覆写: | 文件信息 |
状态: | 核心 |
模组: | 核心 |
兼容性: | 表达式参数2.4.19及更高版本 |
当放入一个.htaccess
文件或<Directory>
或<Location>
部分,该指令将强制所有匹配的文件通过解析处理程序给出的处理程序名。例如,如果您有一个目录希望完全解析为imagemap规则文件,而不管其扩展名如何,则可以将以下内容放入.htaccess
该目录中的文件中:
SetHandler imap-file
另一个示例:如果您希望服务器在每次http://servername/status
调用URL时显示状态报告,则可以将以下内容放入httpd.conf
:
<Location "/status"> SetHandler server-status </Location>
您也可以使用此伪指令为具有特定文件扩展名的文件配置特定处理程序。例如:
<FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch>
字符串值表达式可用于引用每个请求变量,包括对命名正则表达式的反向引用:
<LocationMatch ^/app/(?<sub>[^/]+)/> SetHandler "proxy:unix:/var/run/app_%{env:MATCH_sub}.sock|fcgi://localhost:8080" </LocationMatch>
您可以SetHandler
使用value 覆盖先前定义的指令None
。
注意
因为SetHandler
会覆盖默认处理程序,所以将禁止执行正常行为,例如处理目录或索引文件时以斜杠(/)结尾的URL。
参见
AddHandler