views:

702

answers:

2

I'm trying to rewrite all URL's that contain a ':' in it to another character. http://en.wikipedia.org/wiki/Filename#Reserved%5Fcharacters%5Fand%5Fwords

Example:

http://example.com/some_interesting:info
http://example.com/some_interesting_info
http://example.com/some:interesting:info
http://example.com/some:interesting_info

would all point to this file

some_interesting_info

How can I do this?

EDIT: Did more testing

this works

RewriteRule ^(.*)_(.*) $1$2 [L]
RewriteRule ^(.*)\_+(.*) $1$2 [L]

test_rewrite.html goes to testrewrite.html

this doesn't

RewriteRule ^(.*):(.*) $1$2 [L]
RewriteRule ^(.*)\:+(.*) $1$2 [L]

test:rewrite.html gives a 403

In terms of eliminating the character in the middle. Tested with xammp 1.7.1

A: 

Here's a link to RewriteRule.

RewriteRule ^/some[_:]interesting[_:]info$ /some_interesting_info [L]
Taylor Leese
That would only cover the example URLs but not all URLs that contain a colon.
Gumbo
+1  A: 

Try these rules:

RewriteRule ^/([^:]*):([^:]*:.*) /$1_$2 [N]
RewriteRule ^/([^:]*):([^:]*)$ /$1_$2
Gumbo