Redirection d'un element d'url !

Nouveau WRInaute
Salut!
Voilà celà fait un moment que je lis et fouine mais je n'ai rien trouvé a ma reponse donc voilà:

j'ai un .htaccess de la sorte:

Code:
RewriteEngine on

RewriteRule   ^sitemap.xml$   sitemap.php [L]
RewriteRule   ^rss.xml$   rss.php [L]
RewriteRule   ^rss-([0-9]*).xml$   rss.php?dir=$1 [L]
RewriteRule   ^(.*)-f-([0-9]*)-([0-9]*).html$   feed.php?feedid=$2&linkid=$3 [L]
RewriteRule   ^(.*)-s-([0-9]*).html$   single.php?id=$2 [L]
RewriteRule   ^(.*)-t-([0-9]*).html$   tag.php?name=$1&id=$2 [L]
RewriteRule   ^(.*)-c-([0-9]*).html$   index.php?do=main&name=$1&dir=$2 [L]
RewriteRule   ^(.*)-k-([0-9]*).html$   index.php?do=keywords&words=$1&id=$2 [L]
RewriteRule   ^keywords-p-([0-9]*).html$   index.php?do=keywords&start=$1 [L]
RewriteRule   ^(.*)-c-([0-9]*)-p-([0-9]*).html$   index.php?do=main&name=$1&dir=$2&start=$3 [L]
RewriteRule   ^top-rank([0-9]{1,2}).html$   index.php?do=top-rank&pr=$1 [L]
RewriteRule   ^(([a-z]|-)*).html$   index.php?do=$1 [L]
[/code]

Donc vous l'aurez compris les lettres correspondent a un type de page exemple:
-s- descriptif d'un site
-t- page des tags
-c- page des categorie etc....
hors je cherche a remplacer par exemple -c- par -tennis- bon là j'ai la solution ;)

par contre l'annuaire possédant déjà des milliers d'url referencé je vais devoir faire des redirections 301 donc deux solutions me viennent a l'esprit!
Me taper des milliers de 301 dans l'.htaccess mais ca n'est pas du tout propre et sereinpour le serveur donc la solution que je veux adopter et ou je bloque es la suivante:

faire une redirection de la sorte

Code:
[($p['name'])]-c-[$p['id']].html
et rewrites sur un fichier php special, genre redir.php, qui se charge en php de faire la redir sur
Code:
 [($p['name'])]-tennis-[$p['id']].html

mais voilà comment faire??
 
WRInaute impliqué
Je ne suis pas sur de comprendre ton besoin. Mais ce que j'ai compris peut s'obtenir en remplaçant la ligne suivante:

Code:
RewriteRule   ^(.*)-c-([0-9]*).html$   index.php?do=main&name=$1&dir=$2 [L]

par
Code:
RewriteRule   ^(.*)-c-([0-9]*).html$   $1-tennis-$2.html [R=301] 
RewriteRule   ^(.*)-tennis-([0-9]*).html$   index.php?do=main&name=$1&dir=$2 [L]

toutes les url de la forme
Code:
[($p['name'])]-c-[$p['id']].html
sont rediriges vers des url de la forme

Code:
[($p['name'])]-tennis-[$p['id']].html

qui sont elle mêmes interprétées de façon transparent (non visible depuis l'exterieur) par ton index.php
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut