Aller au contenu

Réécriture et redirection


Sujets conseillés

Bonjour à tous,

Je suis occupé à faire une petite refonte de mon site et j'aimerais faire de la réécriture d'url suivie d'une redirection permanente, pourriez-vous me confirmer une des syntaxes suivantes :

RewriteRule ^clubs-associations/$  categories.php?id_categorie=1  [R=301,L]

ou plutôt

RewriteRule ^clubs-associations/$  categories.php?id_categorie=1  [L]
RedirectPermanent ^categories.php?id_categorie=1 http://mon.site.com/clubs-associations/

ou ... aucune des deux ?

C'est balot mais bon :blush:

Merci d'avance

knockedmaster

Lien vers le commentaire
Partager sur d’autres sites

La première solution ne changera pas les URL de ton référencement, les moteurs suivront la redirection 301 (R=301) et indexeront à nouveau l'ancienne URL.

La deuxième solution est la bonne, si tu as une seule catégorie c'est la plus facile.

Si tu as beaucoup de catégories, la RewirteRule changera (ajout d'un sous-masques permettant de traiter plus d'une catégorie avec la même règle) et si tu souhaites ne plus avoir du tout d'ID (id_categorie) dans l'URL il faudra passer par un minimum de code PHP pour effectuer l'équivalence "nom de catégorie" -> "id_catégorie" (ou alors tu entre une RewriteRule pour chaque catégorie, mais cela devient rapidement ingérable).

Idem pour la deuxième règle, la redirection des anciennes pages vers le nouveau schéma d'URL (réécrites), il est assez simple de remplacer le contenu du script categories.php en conservant ce fichier les anciennes URL fonctionneront encore et y faire une redirection HTTP 301 avec la fonction header vers l'URL de la nouvelle catégorie (en fonction id_categorie bien entendu).

Lien vers le commentaire
Partager sur d’autres sites

Je te remercie, j'y vois déjà un peu plus clair ...

Pour les équivalences j'y travaille, c'est plus propre et plus efficace, d'autant qu'à peu de choses près j'ai déjà la fonction qui permettra d'obtenir une belle chaîne toute propre.

Par contre pour la redirection je ne suis pas sûr d'avoir saisi ... Dois-je conserver le règle dans le htaccess et, en plus, utiliser un en-tête pour la redirection ou simplement utiliser le header sans le htaccess ?

Merci encore :smartass:

Lien vers le commentaire
Partager sur d’autres sites

La redirection dans le fichier PHP suffira, plus besoin du RedirectPermanent, comme cela toute demande vers l'ancienne URL sera redirigée (par la fonction header) vers la nouvelle URL et à ce moment la réécriture se fera (au niveau de ton .htaccess). À priori la cible de ta réécriture ne sera plus categories.php, vu que ce script sera utilisé pour effectuer la redirection (header) mentionnée précédemment.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...