2017-04-21 181 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' 中的內容。