Just an idea ... have you tried putting the hexadecimal representation of
the "+" symbol so apache translates it into "+" when encoding?

On Wed, Apr 8, 2009 at 11:19 PM, Clodoaldo Pinto Neto <
clodoaldo.pi...@gmail.com> wrote:

> 2009/4/7 Clodoaldo Pinto Neto <clodoaldo.pi...@gmail.com>:
> > 2009/4/3 André Warnier <a...@ice-sa.com>:
> >> Clodoaldo Pinto Neto wrote:
> >>>
> >>> I want to rewrite a url to a query string like this:
> >>>
> >>> from http://example.com/x+ to http://example.com/var=x%2B
> >>> or
> >>> from http://example.com/x%2B to http://example.com/var=x%2B
> >>>
> >>> Using:
> >>> RewriteRule ^(/([\w-()+]+))?/$ /?var=$2 [QSA]
> >>>
> >>> The problem i have is that the query string is passed to the
> >>> application unencoded so the "+" is understood by the application as
> >>> space. How to reencode the query string before it is passed to the
> >>> application?
> >>>
> >> Hi.
> >> I don't really know why precisely, but I have a bad feeling about the
> above,
> >> in the sense that an initial URL like you show two examples above may
> lead
> >> to trouble at some point.
> >>
> >> But assuming you insist..
> >>
> >> You may want to lookup this page :
> >> http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html
> >> in the following sections :
> >> Internal Function (escape)
> >> or
> >> External Rewriting Program
> >
> > I could not make the internal escape function work for me. So I used
> > an external rewriting program. If someone is interested this is it:
> >
> > #!/usr/bin/env python
> >
> > from sys import stdin as si
> > from sys import stdout as so
> > from urllib import quote
> >
> > linha = si.readline()
> > si.flush
> > while linha:
> >   so.write(quote(linha, '/\n'))
> >   so.flush()
> >   linha = si.readline()
> >   si.flush()
>
> Flushing input makes no sense to me so I deleted them and it still
> works. If I'm wrong please comment.
>
> Regards, Clodoaldo
>
> >
> > Then in httpd.conf:
> >
> > RewriteMap escape_url prg:/home/carroarodo/escape_url.py
> > RewriteRule ^(.*)$ ${escape_url:$1}
> >
> > Regards, Clodoaldo
> >
> >>
> >> I have never used them, and I am not sure they allow to create the
> >> query-string part of the rewritten request.
> >> But it's worth trying out.
> >> Otherwise, mod_perl would be your friend.
> >>
> >> ---------------------------------------------------------------------
> >> 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: users-unsubscr...@httpd.apache.org
> >>  "   from the digest: users-digest-unsubscr...@httpd.apache.org
> >> For additional commands, e-mail: users-h...@httpd.apache.org
> >>
> >>
> >
>
> ---------------------------------------------------------------------
> 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: users-unsubscr...@httpd.apache.org
>   "   from the digest: users-digest-unsubscr...@httpd.apache.org
> For additional commands, e-mail: users-h...@httpd.apache.org
>
>

Reply via email to