Aller au contenu

Sujets conseillés

Posté

Bonjour,

Alors voilà, nous avons changé de nom de domaine, mais aussi de CMS, donc en fait notre site change complètement. Ce qui ne change pas ce sont le contenu des articles, et ce sont ces articles que je voudrais rediriger. Sachant que j'ai accès en ssh à mon nouveau serveur, mais pas à l'ancien, pour lequel je n'ai qu'un accès ftp.

Sur l'ancien j'ai fais dans le .htaccess une règle :

Redirect / http://www.mindenice.fr/

Donc ça marche, tous ceux qui vont sur l'ancien site se retrouvent vers le nouveau... Sauf que bien sûr çà plante s'ils viennent via google directement sur un article de l'ancien site.

Exemple :

S'ils essayent d'accéder à http://www.min-de-nice.fr/article.php3?id_article=2 ils se retrouvent sur http://www.mindenice.fr/article.php3?id_article=2, et bien sûr ça ne donne rien.

Pourquoi ? Ben parce que mon nouveau site n'est pas organisé comme l'ancien. Cet article existe bien, mais il est situé à l'adresse http://www.mindenicefr/node/11. Oui, mon nouveau site utilise les cleanurl.

Bref ma question : comment faire pour que quand un utilisateur tape, soit à la main soit par moteur de recherche, http://www.min-de-nice.fr/article.php3?id_article=2 il se retrouve sur http://www.mindenicefr/node/11 ?

Je ne veux pas d'url rewrite, je veux une vrai redirection, qui fait que l'utilisateur voit bien où il se dirige et puisse éventuellement mettre ses favoris à jour.

J'ai essayé, dans le .htaccess de l'ancien site, un :

Redirect /article.php3?id_article=2 http://www.mindenice.fr/node/11

Mais ça ne marche pas, ça me laisse sur l'ancien site...

Merci.

Edit : à priori le problème vient du "?" qui fait foirer le Redirect... est-ce que j'aurais plus de chance avec un RedirectMatch? Et dans ce cas quelle regexp utiliser?

Posté

Et non !

Le problème vient effectivement que tu essaies de rediriger une URL avec un QUERY_STRING.

Je pense que tu devrais créer un programme en php, nommé article.php3 dans lequel tu analyses le paramètre id_article et renvoie vers la bonne URL avec une entête 301.

Sinon, tu vas te retrouver avec une palanquée de réécritures conditionnelles dans ton .htaccess.

Je ne comprends pas ton "Je ne veux pas d'url rewrite, je veux une vrai redirection" ... l'URL rewrite étant une vraie redirection. Il te suffit d'ajouter le flag R=301 et d'avoir une URL complètement qualifiée (avec http://) en second argument, et tu auras la bonne adresse dans la barre du navigateur (et les moteurs auront bien une entête 301)

Dan

Posté (modifié)
Sinon, tu vas te retrouver avec une palanquée de réécritures conditionnelles dans ton .htaccess.

Comment ça?

Vu que je n'ai qu'une trentaine d'articles à rediriger, ça ne me gêne pas de le faire à la main, si c'est faisable... En fait mon objectif, mais tu l'as compris je pense, c'est de faire en sorte que google comprenne que cette redirection est définitive, et qu'il mette son index à jour vers la nouvelle page.

Je n'arrive pas à comprendre comment faire fonctionner le article.php3 dont tu me parles... à mettre sur le nouveau site ? L'ancien ? Parce que google a déjà dans son index des liens vers les anciens articles. Ou alors donc je créé le php3 sur le nouveau site, je lui passe en paramètre le lien de l'ancien site, complet, avec le "?", et je le retraite comme ça avant de le rediriger à nouveau vers le bon article ?

Merci

Edit : en fait SPIP permet de faire une redirection d'articles, bref pour chaque article de SPIP je peux lui dire qu'il doit rediriger le navigateur ailleurs, mais je ne pense pas que ce soit une redirection 301. De plus est-ce que les moteurs de recherche suivent ce genre de liens de redirection ?

Rapport à l'url rewrite, je n'avais pas vu ça comme ça, pour moi l'url rewrite était une manière de réécrire une url de manière plus claire, et pas de rediriger l'utilisateur ailleurs. Genre pouvoir taper http://www.mindenice.fr/article/54 au lieu de http://www.mindenice.fr/article.php3?id_article=54. Mais je ne pensais pas que ça pouvait permettre une redirection quelconque...

Modifié par Julien PHAM
Posté (modifié)
je n'ai qu'une trentaine d'articles à rediriger, ça ne me gêne pas de le faire à la main, si c'est faisable... En fait mon objectif, mais tu l'as compris je pense, c'est de faire en sorte que google comprenne que cette redirection est définitive, et qu'il mette son index à jour vers la nouvelle page.

Je n'arrive pas à comprendre comment faire fonctionner le article.php3 dont tu me parles... à mettre sur le nouveau site ? L'ancien ? Parce que google a déjà dans son index des liens vers les anciens articles. Ou alors donc je créé le php3 sur le nouveau site, je lui passe en paramètre le lien de l'ancien site, complet, avec le "?", et je le retraite comme ça avant de le rediriger à nouveau vers le bon article ?

Il te suffit de faire une redirection 301 sur ton nouveau site:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.min-de-nice.fr$
RewriteRule ^(.*) http://www.mindenice.fr/$1 [QSA,L,R=301]

N'oublie pas la flag QSA, indispensable pour passer tes paramètres.

Edit : en fait SPIP permet de faire une redirection d'articles, bref pour chaque article de SPIP je peux lui dire qu'il doit rediriger le navigateur ailleurs, mais je ne pense pas que ce soit une redirection 301. De plus est-ce que les moteurs de recherche suivent ce genre de liens de redirection ?

Ce type de réécriture se fera sur la nouveau serveur (si deux serveurs il y a)

Pour plus d'infos sur la réécriture:

http://www.webmaster-hub.com/publication/article5.html

Modifié par xou

Veuillez vous connecter pour commenter

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



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