Bonsoir.
Je me suis lancé dans la refonte complète de mes urls avec la méthode de l'url rewriting et j'ai un petit souci quand il s'agit de faire des redirections d'anciennes url vers les nouvelles url et notamment quand celles-ci étaient avec conditions.
1er cas : Url rewriting simple sans condition + redirection.
Nouvelle url souhaitée : domaine/en/biography/
Ancienne url : domaine/en/bio/biography.php
J'ai mis le code suivant :
Ca marche mais je sais pas si c'est correct.
2ème cas : url rewriting avec conditions + redirections
Nouvelle url souhaitée : domaine/en/news/
Ancienne url : domaine/en/news/news-archives.php
Là ca marche pour la page principale "news" mais j'ai un bug dans l'url après quand je sélectionne l'année à consulter, ça me donne ça en url : domaine/en/news/?year=2014 alors que je voulais domaine/en/news/news-2014.html
Je comprends pourquoi ça marche pas puisque je demande à pointer en 301 vers la page principale donc il rajoute ma condition à la suite. Logique.
Cependant je ne vois pas trop comment m'y prendre...
Merci d'avance de votre aide.
Modifié par PhilouMinety (12 Aug 2014 - 19:19)
Je me suis lancé dans la refonte complète de mes urls avec la méthode de l'url rewriting et j'ai un petit souci quand il s'agit de faire des redirections d'anciennes url vers les nouvelles url et notamment quand celles-ci étaient avec conditions.
1er cas : Url rewriting simple sans condition + redirection.
Nouvelle url souhaitée : domaine/en/biography/
Ancienne url : domaine/en/bio/biography.php
J'ai mis le code suivant :
RewriteRule ^(.*)en/bio/biography.php$ domaine/en/biography/$1 [R=301,L]
RewriteRule ^en/biography/$ /en/bio/biography.php [L]
Ca marche mais je sais pas si c'est correct.
2ème cas : url rewriting avec conditions + redirections
Nouvelle url souhaitée : domaine/en/news/
Ancienne url : domaine/en/news/news-archives.php
RewriteRule ^en/news/news-([0-9]+)\.html /en/news/news-archives.php?year=$1 [L]
RewriteRule ^en/news/$ /en/news/news-archives.php [L]
RewriteRule ^(.*)en/news/news-archives.php$ domaine/en/news/$1 [L]
Là ca marche pour la page principale "news" mais j'ai un bug dans l'url après quand je sélectionne l'année à consulter, ça me donne ça en url : domaine/en/news/?year=2014 alors que je voulais domaine/en/news/news-2014.html
Je comprends pourquoi ça marche pas puisque je demande à pointer en 301 vers la page principale donc il rajoute ma condition à la suite. Logique.
Cependant je ne vois pas trop comment m'y prendre...
Merci d'avance de votre aide.
Modifié par PhilouMinety (12 Aug 2014 - 19:19)