SetEnv
(and hence SetEnvIf
and BrowserMatch
) are being ignored by RewriteRule
and RewriteCond
. The rumor has it to be a design issue. The only way i could find around this problem is to use the [E=
rewrite rule directive.#Use RewriteRule & RewriteCond as a replacment for SetEnv and BrowserMatch
#SetEnv browser="-ie"
RewriteRule ^(.*)$ - [E=browser:-ie]
#BrowserMatch "IE7" browser="-ie7"
RewriteCond %{HTTP_USER_AGENT} "MSIE 7"
RewriteRule ^(.*)$ - [E=browser:-ie7]
#BrowserMatch "Firefox" browser="-moz"
RewriteCond %{HTTP_USER_AGENT} "Firefox"
RewriteRule ^(.*)$ - [E=browser:-moz]
RewriteCond %{DOCUMENT_ROOT}/cache/index%{ENV:browser}.html -f
RewriteRule ^(.*)$ cache/index%{ENV:browser}.html [L]
PS. If you need to debug rewrite rules you can add the following lines to your
httpd.conf
:
RewriteLog logs/rewrite.log
RewriteLogLevel 5
No comments:
Post a Comment
[Due to much spam, comments are now moderated and will be posted after review]
Note: Only a member of this blog may post a comment.