2009-08-28 8 views
2

J'essaie de réécrire toutes les URL qui contiennent un «:» dans un autre caractère. http://en.wikipedia.org/wiki/Filename#Reserved_characters_and_wordsApache Mod Rewrite - Remplacer: caractère par un autre

Exemple:

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

serait tout pointer vers ce fichier

some_interesting_info 

Comment puis-je faire cela?

EDIT: Plus de tests avez

cela fonctionne

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

test_rewrite.html va testrewrite.html

cela ne

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

test: rewrite.html donne un 403

En termes d'élimination du caractère au milieu. Testé avec xammp 1.7.1

Répondre

0

Voici un lien vers RewriteRule.

RewriteRule ^/some[_:]interesting[_:]info$ /some_interesting_info [L] 
+0

Ce ne couvrirait que les exemples d'URL, mais pas toutes les URL qui contiennent deux points. – Gumbo

3

Essayez ces règles:

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