Tom Evans wrote:
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

Try removing the QSA flag from the RewriteRule. It should only be needed when you are modifying the query string (which you are not).

--
Justin Pasher

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
  "   from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to