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 ProgramI 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-unsubscribe@xxxxxxxxxxxxxxxx " from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx