On Fri, Apr 3, 2009 at 9:15 AM, André Warnier <a...@ice-sa.com> wrote:
> 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 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.
>

For one thing, I don't think the leading slash is needed in the regex.
 Also, I am not sure that the mod_rewrite regular expression engine
supports "\w" you might need to do [A-Za-z]+ or something like that.
Check out the docs for mod_rewrite and the cheat sheet here is also
useful: http://www.addedbytes.com/download/mod_rewrite-cheat-sheet-v2/png/

---------------------------------------------------------------------
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