2011-12-05 20 views
0

http://httpd.apache.org/docs/current/mod/mod_headers.html阿帕奇SetEnvIf之後不設置環境變量如果檢查於HTTP頭

「有條件發送MyHeader所述響應當且僅當標題MyRequestHeader存在於該請求。這是用於響應構建頭以有用一些客戶的刺激。請注意,這個例子需要mod_setenvif模塊的服務。「

SetEnvIf MyRequestHeader myvalue ENV_SET 
Header set MyHeader "%D %t mytext" env=ENV_SET 

但隨後從Apache SetEnvIf trouble,並從我的測試試圖通過檢查授權頭設置環境變種,該ENV_SET不會在所有

SetEnvIf之後可以設置只設置了環境變量ENV_SET以下 * REMOTE_HOST * REMOTE_ADDR * SERVER_ADDR * REQUEST_METHOD * Request_Protocol * REQUEST_URI

文檔是否錯誤或我誤解了某些內容?

使用:阿帕奇/ 2.2.15(Win32的)的mod_fastcgi/2.4.6的mod_jk/1.2.30

回答

2

格式是:

SetEnvIf <headername> <regex> <environment variable name and optionally a value> 

這爲我工作:

SetEnvIf ACTUAL_CLIENT_IP "^172\.111\.0\.27" dontlog 

其中ACTUAL_CLIENT_IP是存儲實際客戶端IP的HTTP頭的名稱(與Remote_Addr字段相反,該字段被我們的代理服務器的IP覆蓋)。