[Redirections d'url] Supprimer des éléments de l'url

  • Auteur de la discussion Auteur de la discussion yazerty
  • Date de début Date de début
WRInaute passionné
Bonjour :),

J'ai des url de ce type :
-http://www.....net/post/2005/04/12/1-tokyo-by-night
-http://www.....net/post/2005/05/01/72-12-bah
-http://www.....net/post/2005/04/13/235-mig-31

Ou encore (sans le "xx-" après le "xxxx/xx/xx") :
-http://www.....net/post/2007/02/02/Welcome
-http://www.....net/post/2007/02/07/En-vrac

Mais aussi plus récemment avec des urls simplifiées (sans le xxxx/xx/xx/truc-bidule) :
-http://www.....net/post/Led-Bombing

Je cherche à transformer ces écritures afin d'obtenir toutes mes écritures sous la forme toute simple suivante :
-http://www.....net/tokyo-by-night
-http://www.....net/12-bah
-http://www.....net/mig-31
-http://www.....net/Welcome
-http://www.....net/En-vrac
-http://www.....net/Led-Bombing

J'envisage donc de modifier mes urls du type
/post/2005/04/12/11-tokyo-by-night
et /post/2007/02/02/Welcome
vers le troisième type d'url que j'ai présenté ci-dessus, c'est à dire de supprimer le post/xxxx/xx/xx/xx- et le post/xxxx/xx/xx
Je souhaite donc mettre toutes mes urls en .net/blah-blah, sachant que le premier "blah" peut-être un chiffre éventuellement : xxxx/xx/xx/xxx-12-blah ou xxxx/xx/xx/x-13-blah (ici il faudra par exemple rediriger vers -www....net/12-blah ou -www....net/13-blah).

J'ai essayé de m'en sortir mais le rewritting n'est définitivement pas mon truc :?

Comment réaliser une belle et efficace redirection pour faire suivre tout ça s'il vous plait :) ?

ps : si ce n'est pas clair sur un point n'hésitez pas à le dire ;-).
 
WRInaute accro
slt,

-http://www.....net/post/2005/04/12/1-tokyo-by-night
en
-http://www.....net/post/tokyo-by-night


Code:
RewriteRule ^([a-z]+)/[0-9]+/[0-9]+/[0-9]+/[0-9]+[-](.*)$  /$1/$2  [L]
 
WRInaute passionné
Mmm non ça ne semble pas marcher (pas d'effet). Par contre dans mon .htaccess existant j'ai des règles sous cette forme :

Code:
RewriteCond %{QUERY_STRING}  ^([0-9]{4}/[0-9]{2}/[0-9]{2}/[0-9]+-.+)$
RewriteRule ^index\.php$ post/%1? [L,R=301]

Est-ce qu'un RewriteCond n'est pas indispensable dans certains cas ou sur certains serveur (c'est un 1&1 mutualisé) :- ?
 
WRInaute accro
et comme ca ?

Code:
RewriteRule ^([a-z]+)/[0-9]{4}/[0-9]{2}/[0-9]{2}/[0-9]+-(.*)$  /$1/$2   [L]

Pour chez 1and1, pas de faq ?
 
WRInaute discret
Si la réécriture est activée, je ne pense pas que RewriteCond soit obligatoire...
Des règles comme ça vers le début peut-être ?

Code:
RewriteRule ^post/[0-9]{4}/[0-9]{2}/[0-9]{2}/[0-9\]+-(.+)$ post/$1 [L,R=301]
RewriteRule ^post/[0-9]{4}/[0-9]{2}/[0-9]{2}/(.+)$ post/$1 [L,R=301]

Faudrait que ton système sait convertir post/tokyo-by-night vers le bon contenu - pris en compte vers une ligne comme
Code:
RewriteRule (.*) leScript.php?q=$1 [L,QSA]

Je te laisse gérer les [L] si tu as une pelletée de règles...
 
WRInaute passionné
Merci pour vos réponses ! (et désolé pour le retour tardif, j'étais en période d'examens..)

Non ça ne marche toujours pas (aucun effet) :(.

Chez 1&1 je n'ai pas trouvé d'aide relative au rewritting. Sur le net j'ai trouvé un message de forum qui a eu l'air de trouver une astuce : -http://forum.joomlafacile.com/showthread.php?t=20860&page=2

Edit : j'ai édité mon premier message, je cherche maintenant à supprimer aussi le /post/ (je migre vers wordpress).
 
WRInaute discret
C'est juste pas clair du tout, en tout cas pour qui ne pratique pas joomla...

tu pourrais poster ton htaccess, pour voir si ça éclaircit la chose ?
 
WRInaute passionné
Mon .htaccess actuel (qui marche) c'est ça en fait :
Code:
# Configuration générale du rewriting
Options +FollowSymlinks
RewriteEngine On
RewriteBase /

# Activation de PHP 5
AddType x-mapp-php5 .php

# Redirection de http://yazerty.net/ vers http://www.yazerty.net/
RewriteCond %{HTTP_HOST} ^yazerty\.net$ [NC]
RewriteRule ^(.*) http://www.yazerty.net/$1 [QSA,L,R=301]

# Redirection des billets
RewriteCond %{QUERY_STRING}  ^([0-9]{4}/[0-9]{2}/[0-9]{2}/[0-9]+-.+)$
RewriteRule ^index\.php$ post/%1? [L,R=301]

# Redirection des archives (mois)
RewriteCond %{QUERY_STRING}  ^([0-9]{4}/[0-9]{2})$
RewriteRule ^index\.php$ archive/%1? [L,R=301]

# Redirection des archives (jours)
RewriteCond %{QUERY_STRING}  ^([0-9]{4}/[0-9]{2}/[0-9]{2})$
RewriteRule ^index\.php$ archive/%1? [L,R=301]

# Redirection des categories
RewriteCond %{QUERY_STRING}  ^([A-Z][a-z]+.*)$
RewriteRule ^index\.php$ category/%1? [L,R=301]

# Redirection des images (pour les search engines)
RedirectPermanent /images http://www.yazerty.net/blog/public

# Redirection du flux RSS (provisoirement...)
Redirect permanent /rss.php http://www.yazerty.net/feed/rss2

# Gestion de l'index.php (pour l'esthétique)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php/$1
RewriteRule ^index.php$  index.php/
 
Discussions similaires
Haut