Monday, June 20, 2005

Prevent Apache modifying Tomcat URLs

I usually host my Tomcat applications behind Apache. I had a problem when passing the encoded ampersand character (%26) in the URL.

The application worked fine when I accessed it through Tomcat but as soon as I hosted it through Apache I found that the ampersand character was being decoded by Apache. The solution was to add:

JkOption +ForwardURICompatUnparsed

to the Apache configuration file. With this in place Apache passed the URL to Tomcat exactly as it received it; rather than partially decoding it before passing it.