2017-04-21 185 views
1

我正在尝试将Cookie值设置为环境变量。这是一个国家代码。部分配置如下。将环境变量设置为Cookie(apache)

MaxMindDBEnable On 
MaxMindDBFile COUNTRY_DB /etc/apache2/GeoLite2-Country.mmdb 
MaxMindDBEnv MM_COUNTRY_CODE COUNTRY_DB/country/iso_code 

想要从上面将cookie名称“CC”值设置为“MM_COUNTRY_CODE”。 我已经尝试了下面,但得到一个NULL。

SetEnvIf Cookie "cccookie=([^;]+)" MM_COUNTRY_CODE=$1 
Header set Set-Cookie "CC=%{CCCOOKIE}e;path=/;Expires=MI3600" env=MM_COUNTRY_CODE 

有什么建议吗?

+0

https://serverfault.com/questions/541458/how-do-you-use-apache-setenvif-with-cookie-values的潜在重复 - 请看看,看看是否有你的答案! – falconspy

回答

2

可以替换下面线

SetEnvIf Cookie "cccookie=([^;]+)" MM_COUNTRY_CODE=$1 
Header set Set-Cookie "CC=%{CCCOOKIE}e;path=/;Expires=MI3600" env=MM_COUNTRY_CODE 

与此以下行

Header set Set-Cookie "CC=%{MM_COUNTRY_CODE}e" 

'%{MM_COUNTRY_CODE} E' 环境变量MM_COUNTRY_CODE.notice和 'e' 中的内容。