Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 为什么环境变量在htaccess中不起作用_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Apache 为什么环境变量在htaccess中不起作用

Apache 为什么环境变量在htaccess中不起作用,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我有这个权限 RewriteEngine On RewriteCond %{REQUEST_URI} /xxx.php$ [NC] RewriteRule ^.*$ - [ENV=MAKE_CACHE:true] <If "%{ENV:MAKE_CACHE} =~ /^true$/"> Header set CUSTOM_HEADER "custom value or my header" </If> 重新编写引擎打开 RewriteCond%{REQUES

我有这个权限

RewriteEngine On

RewriteCond %{REQUEST_URI} /xxx.php$ [NC]
RewriteRule ^.*$ - [ENV=MAKE_CACHE:true]

<If "%{ENV:MAKE_CACHE} =~ /^true$/">
    Header set CUSTOM_HEADER "custom value or my header"
</If>
重新编写引擎打开
RewriteCond%{REQUEST_URI}/xxx.php$[NC]
重写规则^.*$-[ENV=MAKE_CACHE:true]
标题设置自定义标题“自定义值或我的标题”

我简化了htaccess,但您可以理解:如果用户试图重新访问“xxx.php”,我会设置一个环境变量,而后者我会设置一个头自定义_头,但由于某些原因,Apache在到达行“”时没有“看到”变量“MAKE_CACHE”。如何解决这个问题?

这与Apache内部处理的非直观顺序有关


的表达式与Apache内部处理的非直观顺序有关


的表达式是否使用Apache2.4*?是否使用Apache2.4*?明白了!你确实是对的,我以前在谷歌上读过,但无法确认。谢谢!你的两个选择都很好,但我在htaccess方面不太聪明,无法实现这一点。你能告诉我如何使用第一个选项来实现这一点吗?我想我可以做的第二个选择是:你是说我应该在rewritecond为true时设置一个头,然后检查头是否存在?如何检查标题是否存在,如何使用mod_rewrite设置标题?很好!你能解释一下你为什么用“m#”吗?另外,你能告诉我如何检查FOO栏是否设置好,这样我就可以设置我的自定义#u标题了吗?明白了!你确实是对的,我以前在谷歌上读过,但无法确认。谢谢!你的两个选择都很好,但我在htaccess方面不太聪明,无法实现这一点。你能告诉我如何使用第一个选项来实现这一点吗?我想我可以做的第二个选择是:你是说我应该在rewritecond为true时设置一个头,然后检查头是否存在?如何检查标题是否存在,如何使用mod_rewrite设置标题?很好!您能解释一下为什么使用“m#”吗?另外,您能告诉我如何检查FOO栏是否已设置,以便设置自定义的#u标题吗?
Header always set FOO BAR "expr=%{REQUEST_URI} =~ m#^/xxx.php$#"