跳转到内容

条件块

指令语法
<If><If "expression">
<ElseIf><ElseIf "expression">
<Else><Else>
运算符说明示例
==字符串相等"%{REQUEST_URI}" == "/admin"
!=字符串不等"%{HTTPS}" != "on"
=~正则匹配"%{REQUEST_URI}" =~ /\.php$/
!~正则不匹配"%{HTTP_USER_AGENT}" !~ /bot/i
-f文件存在-f "%{REQUEST_FILENAME}"
-d目录存在-d "%{REQUEST_FILENAME}"
-s文件存在且非空-s "%{REQUEST_FILENAME}"
-l是符号链接-l "%{REQUEST_FILENAME}"
-ipmatchIP/CIDR 匹配"-ipmatch" "192.168.0.0/16"
&&逻辑与
||逻辑或
!逻辑非
<If "%{HTTPS} == 'on'">
Header set Strict-Transport-Security "max-age=31536000"
</If>
<If "-ipmatch '10.0.0.0/8'">
Require all granted
</If>
<Else>
Require valid-user
</Else>
<If "%{REQUEST_METHOD} == 'OPTIONS'">
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "GET, POST, OPTIONS"
</If>