httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joshua Slive" <jos...@slive.ca>
Subject Re: [users@httpd] RewriteMap issue - Escaping a space
Date Thu, 19 Jul 2007 13:35:14 GMT
On 7/19/07, Andrew Dixon <andrew@andrewdixon.co.uk> wrote:

> I tried using the THE_REQUEST, but that get a space in it as well as it
> gives:
>
> GET /sub_page.cfm/title/Paris
> Outbound/section/General/editID/337
>
> And there is space between the GET and the URI. I also tried several of the
> other variables, REQUEST_URI and REQUEST_FILENAME, but they either contain
> the space or not the whole string. The rewrite rules are:
>
> RewriteMap theMap txt:/tmp/theMap.txt
>  RewriteCond ${theMap:$1┬ŽNotFound} !NotFound
> RewriteRule ^/(.*) ${theMap:$1} [R=301,L]

My other idea was something like the following:

RewriteRule "(.*) (.*)" $1SPACE$2
RewriteCond ${theMap:$1┬ŽNotFound} !NotFound
RewriteRule ^/(.*) ${theMap:$1} [R=301]

And, of course, in your map file you would need to replace any space
with the string SPACE. (Again, you'll need to check the rewriteLog to
see how to actually do that first match. It is possible that you need
to match against %20 rather than a raw space. I've never tried it.)
And another caveat: this will only work for one space in the URL. You
could add more RewriteRules to get more spaces, and could probably
handle an arbitrary number with some added complication.

Joshua.

---------------------------------------------------------------------
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@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message