httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tom Evans <tevans...@googlemail.com>
Subject [users@httpd] mod_rewrite double escaping query strings
Date Wed, 01 Oct 2008 13:43:09 GMT
Hi all.

I'm encountering a problem with using mod_rewrite in httpd 2.2.9 to
canonicalize the server name. The problem is that the query string seems
to be double escaped by this process. Here is a sample vhost that
triggers the issue:

<VirtualHost *:80>
    ServerName sweetums
    ServerAlias foofoo

    DocumentRoot /data2/development/www/sweetums
    <Directory /data2/development/www/sweetums>
            Order allow,deny
            Allow from all
    </Directory>

    RewriteEngine On

    RewriteCond %{HTTP_HOST}  !^sweetums$
    RewriteRule ^/(.*)        http://sweetums/$1 [R=301,L,QSA]

</VirtualHost>

So, with this configuration, a request for http://foofoo/bar is
correctly rewritten to http://sweetums/bar , however a request for
http://foofoo/bar?and=grill%25 would be incorrectly rewritten to
http://sweetums/bar?and=grill%2525 .

Is there any way to prevent this behaviour, or perhaps a better form of
host canonicalization? 

Cheers

Tom

Mime
View raw message