Plus "+" in URL can cause redirection loop

The fix is to add nocanon to the proxy config.
For example:

ProxyPass / balancer://frontendcluster/ stickysession=ROUTEID nocanon
ProxyPassReverse / http://10.1.1.1:9001/ nocanon
ProxyPassReverse / http://10.1.1.2:9001/ nocanon

http://httpd.apache.org/docs/2.2/mod/mod_proxy.html

Normally, mod_proxy will canonicalise ProxyPassed URLs. But this may be incompatible with some backends, particularly those that make use of PATH_INFO. The optional nocanon keyword suppresses this, and passes the URL path “raw” to the backend. Note that may affect the security of your backend, as it removes the normal limited protection against URL-based attacks provided by the proxy.




Plus signs replaced with %252520 in query string

We recently migrated one of our ¬†websites at work to a new platform ¬†and discovered that Nextopia was encoding plus (+) signs with “%252520”, which completely broke our rewrites.

A simple fix was to include this rewrite:

RewriteCond %{QUERY_STRING} (.*?)%(25)+20(.*?%(25)+20.*)
RewriteRule ^ %{REQUEST_URI}?%1+%3 [N]
RewriteCond %{QUERY_STRING} (.*?)%(25)+20(.*)
RewriteRule ^ %{REQUEST_URI}?%1+%3 [L,R=301]

The solution was provided here: http://stackoverflow.com/questions/3617784/plus-signs-being-replaced-for-252520