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 setEnv作为%{HTTP_HOST}_Apache_.htaccess_Setenv - Fatal编程技术网

Apache .htaccess setEnv作为%{HTTP_HOST}

Apache .htaccess setEnv作为%{HTTP_HOST},apache,.htaccess,setenv,Apache,.htaccess,Setenv,可以用%{HTTP_HOST}执行htaccess SetEnv吗 我试着这样做: SetEnv HOSTNAME %{HTTP_HOST} 但这不起作用。 我将其设置为 SetEnv HOSTNAME localhost.work 这很有效。所以这只是我的配置,并没有真正运行 希望有人能给我一个提示,为什么这不起作用 提前感谢。SetEnv mod_env用于设置简单的硬编码名称/值对。如果希望根据请求的元素设置var,则需要使用setenif mod_setenif 例如,要将env v

可以用%{HTTP_HOST}执行htaccess SetEnv吗

我试着这样做:

SetEnv HOSTNAME %{HTTP_HOST}
但这不起作用。 我将其设置为

SetEnv HOSTNAME localhost.work
这很有效。所以这只是我的配置,并没有真正运行

希望有人能给我一个提示,为什么这不起作用

提前感谢。

SetEnv mod_env用于设置简单的硬编码名称/值对。如果希望根据请求的元素设置var,则需要使用setenif mod_setenif

例如,要将env var主机名设置为主机HTTP请求头的值,请执行以下操作:

SetEnvIf Host "(.*)" HOSTNAME=$1
SetEnvIf指令有条件地设置环境变量。。。如果regex.*与第一个参数(即HTTP主机头)匹配,则设置env var

主机引用的主机HTTP请求头与HTTP_主机服务器变量相同..*是与之匹配的捕获正则表达式,$1是对该捕获模式的反向引用

参考:

SetEnv mod_env用于设置简单的硬编码名称/值对。如果希望根据请求的元素设置var,则需要使用setenif mod_setenif

例如,要将env var主机名设置为主机HTTP请求头的值,请执行以下操作:

SetEnvIf Host "(.*)" HOSTNAME=$1
SetEnvIf指令有条件地设置环境变量。。。如果regex.*与第一个参数(即HTTP主机头)匹配,则设置env var

主机引用的主机HTTP请求头与HTTP_主机服务器变量相同..*是与之匹配的捕获正则表达式,$1是对该捕获模式的反向引用

参考:

环境变量HTTP\U HOST是否已经存在…?是的,它也可以工作。。。感觉不好环境变量HTTP\U HOST不是已经存在了吗…?是的,它也可以工作。。。感觉不好,我不太明白,但它是有效的,谢谢!SetEnvIf指令有条件地设置环境变量。。。如果regex.*与此实例中HTTP主机头的第一个参数匹配,那么它将设置env var。我已经在我的答案中添加了一个引用链接。我不太理解它,但它可以工作,谢谢!SetEnvIf指令有条件地设置环境变量。。。如果regex.*与此实例中HTTP主机头的第一个参数匹配,那么它将设置env变量。我已经为我的答案添加了一个引用链接。