Aller au contenu

Choix pour une redirection basique


Sujets conseillés

Bonjour,

Je poste ici, ne sachant pas trop si cela se range dans le référencement pur.

Voilà, je suis en train de faire passer un petit site statique (référencé) en version dynamique et il y a un certain nombre de pages qui vont devoir subir une redirection.

7 pages sont concernées et la seule différence entre les anciennes et nouvelles urls sont l'extension qui passe de .html en .php.

Après avoir parcouru l'article sur la redirection sur le Hub, je me pose la question de la meilleure méthode à adpoter pour mon cas. Dois-je utiliser préférablement les "Meta" ou l'URL rewriting ?

Pour être sûr que je me fasse bien comprendre les pages doivent être redirigées de cette facon :

http://monsite.com/page.html ---> http://monsite.com/page.php

Merci pour vos avis.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

La méthode la plus simple est d'utiliser la réécriture d'URLs.

Par exemple comme ceci:

RewriteEngine on
RewriteRule /?(.*)\.html http://www.tondomaine.tld/$1.php [R=301,L]

Cette règle dira aux moteurs que toutes tes pages en *.html doivent définitivement être accédées comme *.php et ils mettront leurs index à jour (avec transmission du PageRank)

Attention, l'indexation et la transmission de PR ne seront pas instantanées !

Lien vers le commentaire
Partager sur d’autres sites

Merci infiniment,

Cela est en effet idéal :cool:

Une petite question tout de même après différents tests en local, j'ai bien saisi la methode mais je me pose la question suivante pour définitivement me dire "j'ai tout compris":

Dans l'expression régulière qui definit le masque de l'url à réécrire tu utilises "/? (.*)", le "/" signifie le repertoire dans lequel est stocké le htaccess c'est bien ça ?

Seule la partie de l'url à partir de ce répertoire jusqu'à l'extension ( (.*)\.html ) est prise en compte (stockée dans $1) par le moteur de réécriture et qui en modifie l'extension ensuite.

J'ai testé cela :

RewriteEngine on
RewriteRule ^(.*)\.html$ http://localhost/new/$1.php [R=301,L]

Ou "new" est le répertoire racine du site sur le serveur local et ou est placé le htaccess, cela fonctionne aussi sans problème. quel est l'interêt de cette regle "/?" (0 ou une occurence du /) ?

Lien vers le commentaire
Partager sur d’autres sites

quel est l'interêt de cette regle "/?" (0 ou une occurence du /) ?

Selon les hébergeurs, mod_rewrite peut recevoir (ou non) un nom de fichier en absolu... donc commençant par un /

Le fait de mettre /? rend ce / facultatif, et l'isole de l'expression s'il est présent.

Donc une réécriture ne risquera pas de créer -http://www.domaine.tld//$1 (avec un double / )

Lien vers le commentaire
Partager sur d’autres sites

Merci pour ces précisions, j'ai bien intégré le mécanisme.

J'ai vu qu'il y avait un sous forum htaccess et réécriture d'url dans le forum les langages du net. Ce sujet y a tout à fait sa place. Je l'aurais posté là bas si j'avais vu son existence plus tôt.

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...