apache - .htaccess - 如何根据环境变量设置自定义 header ?

标签 apache .htaccess if-statement

如何根据使用 If/Else 指令的环境变量通过 .htaccess 设置自定义 header ?

#Refresh-page
<If "%{ENV:DOCUMENT} == 'loading'">
    Header set Refresh "3"
</If>

我正在尝试使用 Apache 2.4 文档中描述的语法

http://httpd.apache.org/docs/2.4/mod/core.html#if

测试 1

根据anubhava的回答
RewriteCond %{ENV:DOCUMENT} ^widget$
RewriteRule ^.* - [E=REFRESH:1]

#refresh page
Header set Refresh "3" env=REFRESH

RewriteCond %{ENV:REFRESH} ^1$
RewriteRule ^.* loading.html [L]

最佳答案

更改您的 env 变量以存储 0 或 1,然后您可以使用 Header set像这样:

您可以使用:

# set DOCUMENT=widget (remove if you are already setting this)
SetEnvIf Host ^ DOCUMENT=widget

# set isDoc=1 if DOCUMENT == widget
SetEnvIf DOCUMENT widget isDoc

# set header only if isDoc == 1
Header set Refresh "3" env=isDoc

关于apache - .htaccess - 如何根据环境变量设置自定义 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26755061/

相关文章:

apache - SVN Hook 突然停止工作

java - Apache poi XLSX 到 XLS

.htaccess - 需要 mod_rewrite URL 信息

c - 将 Switch 语句转换为 if/then 和 if/else 语句

java - if 语句中的动态 AND 条件

java - 从服务器响应写入(下载)文件时如何忽略内容长度异常?

apache - 如何查看完整的 httpd 配置?

php - 带有本地化名称 ID 的友好 URL

.htaccess - 具有不同参数的 htaccess

java - if循环不会停止循环