[Résolu] Redirection d'une famille d'URL

  • Auteur de la discussion Auteur de la discussion OTP
  • Date de début Date de début
WRInaute accro
Bonjour,

Comme à chaque fois que je me frotte au .htaccess, ça coince...

Mon problème du jour :

Je souhaite rediriger une famille d'URL (environ 25 000) :

Code:
motquelconque_nnn_texte.php vers autremotquelconque_nnn_texte.php

'nnn' (entier entre 1 et 25000) et 'texte' ne changent pas.

Je sais réecrire une famille d'URL, rediriger une URL unique, mais pas rediriger une famille d'URL.

Comment faire ?

Merci d'avance,

Michaël
 
WRInaute accro
Re: Redirection d'une famille d'URL

Bonjour,

Je remonte le sujet, merci !

Michaël
 
WRInaute accro
Re: Redirection d'une famille d'URL

A tester :

Code:
RewriteRule ^motquelconque_([0-9]+)_([a-zA-Z]+).php http://www.example.com/autremotquelconque_$1_$2.php? [QSA,R=301,L]
 
WRInaute accro
Re: Redirection d'une famille d'URL

Et en redirigeant en php ? de cette façon c’est comme si tu redirigeais un seul lien non ?
Quand tu arrives sur une page qui doit être redirigée, tu fais ta redirection mais uniquement par rapport a cette page et non pas à toute une famille d'URL.

@UsagiYojimbo : je pense que c'est l'inverse (c'est "texte" qui est fixe) :

Code:
RewriteRule ^([a-zA-Z]+)_([0-9]+)_texte).php http://www.example.com/$1_$2_texte.php? [QSA,R=301,L]

mais je ne sais pas si la solution de UsagiYojimbo fonctionne :)
 
WRInaute accro
Re: Redirection d'une famille d'URL

Merci à vous.

D'après ce que je comprends de vos réponses, il s'agit de réécriture d'URL, pas de redirection.

motquelconque_nnn_texte.php restera vu par Google et autres comme une page existante.
Ce que je chercher à faire, c'est que le .htaccess renvoie vers l'autre adresse.

Ou alors il y a un truc que je ne comprends pas (et c'est fort possible !!! ) ;)
 
WRInaute accro
Re: Redirection d'une famille d'URL

Non non, ma proposition redirige (regarde les flag utilisé, notamment R=301).

J'avais mal lu, donc. Si c'est la première partie seulement qui change (ce que tu as appelé mot) :

Code:
RewriteRule ^([a-zA-Z0-9]+)_chiffre_texte.php http://www.example.com/$1_chiffre_texte.php? [QSA,R=301,L]
 
WRInaute accro
Re: Redirection d'une famille d'URL

Bonjour,

Merci pour ta réponse.
J'ai mal formulé ma demande, mais je vais essayé d'adapter.
En effet, nnn et texte sont variables. Je vais ajouter des $2 et $3 pour voir...
 
WRInaute accro
Re: Redirection d'une famille d'URL

Re,

Via des bidouilles et sur la base de vos conseils, j'ai un truc qui fonctionne avec ça :

Code:
RewriteRule ^toto_([0-9])(.*)\.php$ tata_$1$2.php [QSA,R=301,L]

Merci,

Michaël
 
WRInaute passionné
oui ca marche parce que le deuxième séparateur _ est compris dans (.*) après les chiffres donc c'est dans $2 sinon la façon stricte :
Code:
RewriteRule ^toto_([0-9])_(.*)\.php$ tata_$1_$2.php [QSA,R=301,L]
 
WRInaute accro
Ah oui.
Ca veut dire que si le deuxième élément commence par un chiffre, ça va faire n'importe quoi, non ?
Je vais corriger.
Merci
 
WRInaute passionné
en fait si j'ai bien compris depuis le début, tu n'as pas besoin de 2 trucs puisque c'est juste le début qui change, tu n'as qu'à écrire :
Code:
RewriteRule ^toto_(.*)\.php$ tata_$1.php [QSA,R=301,L])
 
Discussions similaires
Haut