.htaccess htaccess使用另一个环境变量设置环境变量
我的问题找不到答案 我可以使用另一个环境变量设置环境变量吗 例如:.htaccess htaccess使用另一个环境变量设置环境变量,.htaccess,variables,environment-variables,.htaccess,Variables,Environment Variables,我的问题找不到答案 我可以使用另一个环境变量设置环境变量吗 例如: SetEnv msg_1 "First message" SetEnv msg_2 "%{ENV:msg_1} Second message" 说清楚一点,我不想使用%{ENV:msg_1}%{ENV:msg_2} 我不想使用%{ENV:msg_2} 这可能吗,因为我觉得不起作用?这是一个有趣的问题。SetEnv的特性和范围非常有限 你可以在这里用 设置msg_1 SetEnvIf主机^
SetEnv msg_1 "First message"
SetEnv msg_2 "%{ENV:msg_1} Second message"
说清楚一点,我不想使用%{ENV:msg_1}%{ENV:msg_2}
我不想使用%{ENV:msg_2}
这可能吗,因为我觉得不起作用?这是一个有趣的问题。SetEnv的特性和范围非常有限 你可以在这里用 设置msg_1 SetEnvIf主机^msg_1=第一条消息 使用msg_1设置msg_2 SetEnvIf msg_1.*msg_2=$1秒消息
$1是我们在第1组中捕获的值,即。*所有内容。这是一个有趣的问题。SetEnv的特性和范围非常有限 你可以在这里用 设置msg_1 SetEnvIf主机^msg_1=第一条消息 使用msg_1设置msg_2 SetEnvIf msg_1.*msg_2=$1秒消息 $1是我们在第1组中获得的价值,即。*一切 您将需要使用mod_rewrite或setenif-See来使用另一个env变量的值来设置环境变量。不幸的是,SetEnv mod_env和setenif mod_setenif没有在结果表达式中使用语法%{env:varname}来扩展env变量的值,它只是被视为文本 但是,如果使用mod_rewrite,则不能使用SetEnv设置初始环境变量,因为它处理得太晚。您需要使用setenif或mod_rewrite来设置初始环境变量 例如:
RewriteEngine on
SetEnvIf ^ ^ "msg_1=First message"
RewriteRule ^ - "[E=msg_2:%{ENV:msg_1} Second message]"
请注意按策略放置的双引号,因为value参数包含空格
setenif-setenif指令中的整个name=value对必须用双引号括起来,而不是值
RewriteRule-整个flags参数需要用双引号括起来,而不是值
这确实比setenif更具灵活性,因为如果需要,可以在值部分引用任意数量的env变量
您将需要使用mod_rewrite或setenif-See来使用另一个env变量的值来设置环境变量。不幸的是,SetEnv mod_env和setenif mod_setenif没有在结果表达式中使用语法%{env:varname}来扩展env变量的值,它只是被视为文本
但是,如果使用mod_rewrite,则不能使用SetEnv设置初始环境变量,因为它处理得太晚。您需要使用setenif或mod_rewrite来设置初始环境变量
例如:
RewriteEngine on
SetEnvIf ^ ^ "msg_1=First message"
RewriteRule ^ - "[E=msg_2:%{ENV:msg_1} Second message]"
请注意按策略放置的双引号,因为value参数包含空格
setenif-setenif指令中的整个name=value对必须用双引号括起来,而不是值
RewriteRule-整个flags参数需要用双引号括起来,而不是值
这确实比setenif更灵活,因为如果需要,您可以在值部分引用任意数量的env变量。我喜欢这个^^++I喜欢这个^^++啊,是的,我忽略了您可以在setenif指令本身中引用另一个env变量++啊,是的,我忽略了您可以在setenif指令本身中引用另一个env变量++