[RESOLU] Changement version site et url

WRInaute discret
Hello à tous,

Suite à une modification de mon site, je suis confronté sur certaines pages au problème suivant :

-Dans l'ancienne version, certaines pages dynamiques avaient la structure suivante :
www.mondomaine.com/page-variable1-variable2-variable3.hml

-Dans la nouvelle structure, il y a deux changements majeurs :
1) Inversion de la variable 1 avec la variable2
2) Suppression de la variable 3 dans l'url
La structure est donc la suivante :
www.mondomaine.com/page-variable2-variable1.hml

Les pages de l'ancienne version sont bien entendues indexées dans google.

Par rapport à tout cela j'ai plusieurs questions :

1) Comment procéder exactement avec les redirections 301 ?
2) Les pages indexées dans google qui n'existeront plus, vont-elles disparaître progressivement de l'index ?

Merci d'avance.
 
WRInaute accro
tout ça tourne certainement dans un "index.php?var_a=1&var_b=2".

Si c'est le cas, tu peux tout simplement conserver dans ton htaccess les "anciennes règles" (en plus des nouvelles), recomposer l'URI et le confronter à l'URI actuel.

Exemple:

un visiteur charge la page "/page-abc-xyz-123.html"

Tu sais donc que:

$var_a = abc
$var_b = xyz
$var_c = 123

--> tu peux déterminer que $correct_uri devrait être "/page-xyz-abc.html"

tu compares $correct_uri à $_SERVER['REQUEST_URI'], et si ce n'est pas cohérent, tu fais la redirection vers $correct_uri ;)
 
WRInaute discret
Hello Hawkeye,

Je ne suis pas forcément à l'aise sur ce sujet donc pour résumer et si j'ai bien compris :

Je conserve mon ancienne règle d'écriture dans mon htaccess, à savoir :
RewriteRule ^page-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /page.php?VAR1=$1&VAR2=$2&cVAR3=$3 [L]

J'y ajoute ma nouvelle règle d'écriture, à savoir :
Rewriterule ^page-([-a-z]+)-([0-9]+)\.html$ page.php?VAR1=$1&VAR2=$2 [L]
(où VAR1 et VAR2 sont inversées par rapport à l'ancienne règle)

Et pour finir je mets la redirection 301 :
Rewriterule ^page-([-a-z]+)-([0-9]+)\.html$ page.php?VAR2=$1&VAR1=$2 [R=301]

J'ai bon ? :D

Merci !


Tout autre sujet :
Je ne sais pas si la fonction est désactivée ou si je suis le seul dans ce cas là, mais la recherche sur le forum ne semble pas fonctionner. Quelqu'un sait-il ce qu'il en est ?
 
WRInaute accro
Je suis parti sur inutilement compliqué, sorry, j'avais autrechose en tête. Ceci devrait suffire:

Code:
# nouvelle regle
Rewriterule ^page-([-a-z]+)-([0-9]+)\.html$ page.php?VAR1=$1&VAR2=$2 [L]

#redirection
Rewriterule ^page-([0-9]+)-([0-9]+)-([0-9]+)\.html$ page.php?VAR2=$1&VAR1=$2 [R=301] [/quote] [QSA,L,R=301]
 
WRInaute discret
J'y perds mon latin......

Pour la première ligne pas de soucis.

En revanche pour la seconde je ne te suis pas 8O

Code:
#redirection
Rewriterule ^page-([0-9]+)-([0-9]+)-([0-9]+)\.html$ page.php?VAR2=$1&VAR1=$2 [R=301] [/quote] [QSA,L,R=301]
Ceci me génère une page à trois variables, hors je n'en ai que deux. Ne serait-ce pas plutôt :

Code:
#redirection
Rewriterule ^page-([0-9]+)-([0-9]+)\.html$ page.php?VAR2=$1&VAR1=$2&VAR3=$3 [R=301] [/quote] [QSA,L,R=301]

Quelle mer.... :wink:

Je vais aussi me renseigner par curiosité sur l'ajout de [/quote] [QSA,L,R=301] pour en comprendre le sens.

Merci monsieur !
 
WRInaute discret
Bon j'ai enfin compris.... ouf !

En revanche je pense que je vais être coincé sur un point :

Sur les deux variables que je conserve, l'une des deux n'a pas le même format que dans l'ancienne version....

L'ancienne était un chiffre... la nouvelle est un nom......

Quel buse !!!! :roll:

A l'aide d'excel je pense pouvoir recréer toutes les adresses assez rapidement. Par contre cela ne va t-il pas être lourd dans le fichier htaccess sachant qu'il y aura à peu près 2000 url ?


EDIT :
Opération réussie.
J'avais 2 craintes :
1) qu'il y ait un nombre d'URL limitée dans un fichier htaccess
2) que si cela fonctionnait, cela rame.

Aucun problème : au final 4 400 lignes et ça roule ! :eek:
 
Discussions similaires
Haut