Redirection 301 vers URL sans rien après le "/"

WRInaute discret
Bonjour,

J'ai un problème avec ton url de départ qui pour moi ne veut pas dire grand chose car il devrait y avoir un slash après le nom de domaine.

Donc si je l'écris comme je pense qu'elle devrait être (http://monsite.fr/article1/1/) je te propose ça :

Code:
RewriteRule ^article([0-9]+)/(.+)/?$ http://monsite.fr/article$1/ [R=301,L]

bonne journée
 
WRInaute discret
alexdezark a dit:
Bonjour,

J'ai un problème avec ton url de départ qui pour moi ne veut pas dire grand chose car il devrait y avoir un slash après le nom de domaine.

Donc si je l'écris comme je pense qu'elle devrait être (http://monsite.fr/article1/1/) je te propose ça :

Code:
RewriteRule ^article([0-9]+)/(.+)/?$ http://monsite.fr/article$1/ [R=301,L]

bonne journée

Merci. C'est bien ça, il manquait un "/" :)

Est-ce que je peux généraliser ce code à toutes les autres pages (http://monsite.fr/article2/1/, http://monsite.fr/article3/1/...) sans avoir à écrire une ligne par page ?
 
WRInaute discret
Oui, oui bien sûr

La première parenthèse capturante (après article) va capturer tout nombre directement placé après "article" et te la restituer en remplaçant $1.

Teste la d'abord car avec les Regexp une petite erreur est vite arrivée

EDIT : les parenthèses indiquent que leurs contenu doit être capturé en vue d'être restitué, la deuxième n'est donc pas nécessaire elle pourrait sans doute être remplacée par des crochets [] mais dans la forme que je t'ai indiquée tu pourrais aussi récupérer son contenu sous la forme $2.
Pas utile dans ton cas.
 
WRInaute discret
Attention quand même à 1 truc : pense à mettre la balise canonical dans ta page (php ?) avec ton url valide et unique pour limiter le risque de duplicate content.
 
Discussions similaires
Haut