Hi, so I need some little help. I need to modify request headers in some situations and for debugging, I want to print the content of the header before and after processing. So I looked at mod_log_config and found:
---- %{VARNAME}i : The contents of VARNAME: header line(s) in the request sent to the server. Changes made by other modules (e.g. mod_headers <http://httpd.apache.org/docs/current/mod/mod_headers.html>) affect this. If you're interested in what the request header was prior to when most modules would have modified it, use mod_setenvif <http://httpd.apache.org/docs/current/mod/mod_setenvif.html> to copy the header into an internal environment variable and log that value with the %{ VARNAME}e described above. ---- And actually %{varname}i prints out the processed request header. Where I have problems is the "use mod_setenvif <http://httpd.apache.org/docs/current/mod/mod_setenvif.html> to copy the header into an internal environment variable" part. The request header in question is "Cookie". So I tried to do the following: a) in httpd.conf LogFormat "%t [%{ms}T ms] %h %u \"%m %U '%{login_jsid}e' '%{Cookie}i'\" s:%>s l:%b S:%{SSL_PROTOCOL}x C:%{SSL_CIPHER}x" xxxlogheader b) in the virtual host SetEnvIfExpr "%{REQUEST_URI} == '/cb2/facelets/logon.xhtml' && %{REQUEST_METHOD} == 'GET'" login_get login_jsid=%{HTTP_COOKIE}e CustomLog "..../apache2/logs/login_log" xxxlogheader env=login_get So I would actually expect the content of the Cookie being printed twice when doing no additional processing. Instead I get: "GET /xxx/facelets/logon.xhtml '%{HTTP_COOKIE}e' 'JSESSIONID=yyyyy; /xxx_textLocale=en/US'" Which indicates that my assignment in the SetEnvIfExpr directive is wrong. Any help how to get that right? TIA Martin -- ------------------------------------------------------ Martin Knoblauch email: k n o b i AT knobisoft DOT de www: http://www.knobisoft.de