Redirection permanente 301 et petit problème

WRInaute discret
Bonjour

Je viens de démémager mon site perso de Free vers un hébergeur payant avec un nom de domaine.

Sur la page index du site hébergé chez Free j'ai mis

Code:
<?php
	header(
	 "Status: 301 Moved Permanently", false, 301);
	header(
	 "Location: h**p://www.monnouveaudomaine.com");
	exit();
?>

Donc parfait quand je vais à la racine de mon site Free je suis redirigé vers mon nouveau domaine

En allant sur Google j'ai tapé le mot clé de mon site (mon nom car j'ai mon nom en titre du site). Google sort donc bien mon site Free. Mais étonnant au lieu sortir xxxxxxxx.free.fr il sort xxxxxxxx.free.fr/rubrique.php3?id_rubrique=1. La racine est bien la page d'accueil et l'autre la page suivante.
Ma question est malgrè ça est ce que google va voir la redirection ou dois je faire une redirection aussi pour xxxxxxxx.free.fr/rubrique.php3?id_rubrique=1 et les autres pages ?

Merci d'avance
Philippe
 
WRInaute discret
Merci pour ta réponse

J'ai pas gardé les mêmes url du fait qu'avant c'était des url du genre xxxx.php3?id_xxx=x et que maitenant j'ai appliqué la réécriture d'url et donc mes nouvelles url sont du genre xxxxxx.html

La solution est donc de faire un RedirectPermanent dans le htaccess ? Ca marche sur Free ? Comme mon site est dynamique va falloir faire une régle ?

Philippe
 
WRInaute passionné
ensemblevide a dit:
Merci pour ta réponse

J'ai pas gardé les mêmes url du fait qu'avant c'était des url du genre xxxx.php3?id_xxx=x et que maitenant j'ai appliqué la réécriture d'url et donc mes nouvelles url sont du genre xxxxxx.html

La solution est donc de faire un RedirectPermanent dans le htaccess ? Ca marche sur Free ? Comme mon site est dynamique va falloir faire une régle ?

Philippe

Pas de probleme.
Si tes pages rewrités sont construites d'une manière logique à partir des variables, tu peux faire une redirection vers la page rewrité.

Par exemple :
-http://membres.lycos.fr/suede/show_photos.php?id_photo=378

redirige vers
-http://www.photos-suede.com/photo-378/
 
WRInaute discret
ok merci
Mais je croyais que la réécriture d'url n'était pas possible chez Free.
Donc il faut que je rédige la règle dans le htaccess ?

J'ai ajouté dans ce fichier :


Code:
RedirectPermanent / h**p://www.mondomaine.com/


Donc effectivement les pages du site hébergé sur Free sont redirigées vers l'autre domaine.

xxxx.free.fr/pagexx.php3?id_xxxx=x est redirigée vers h**p://www.mondomaine.com/pagexx.php3?id_xxxx=x

Maintenant ça risque d'être compliqué d'ajouter la réécriture. J'utilise SPIP 1.9 qui dispose d'un système de réécriture facile à implémenter. mais comme je suis pas compétent dans ce domaine.
Que faut il faire précisemment ?

Philippe
 
WRInaute passionné
ensemblevide a dit:
ok merci
Mais je croyais que la réécriture d'url n'était pas possible chez Free.
Donc il faut que je rédige la règle dans le htaccess ?

J'ai ajouté dans ce fichier :


Code:
RedirectPermanent / h**p://www.mondomaine.com/


Donc effectivement les pages du site hébergé sur Free sont redirigées vers l'autre domaine.

xxxx.free.fr/pagexx.php3?id_xxxx=x est redirigée vers h**p://www.mondomaine.com/pagexx.php3?id_xxxx=x

Maintenant ça risque d'être compliqué d'ajouter la réécriture. J'utilise SPIP 1.9 qui dispose d'un système de réécriture facile à implémenter. mais comme je suis pas compétent dans ce domaine.
Que faut il faire précisemment ?

Philippe


Tu le fais dans ton fichier php

si pagexx.php3?id_xxxx=YYYYY correspond à blabla_YYYYY.html

$url="www.example.com/blabla_".$id.".html"
puis :

Location: $url
 
WRInaute discret
De quel fichier php parles tu ?
Cette condition je dois la faire autant de fois que j'ai de pages ?

Ce script est il compris par les MR ?

Philippe
 
WRInaute passionné
A priori, toutes tes pages sont en php

Donc si tu sais transcrire tes anciennes urls en nouvelles de manière automatique, tu peux faire un script sur ton ancien site.
Je ne connais pas la structure de ton site, mais vu que c'est un site dynamique, tu as un nombre limité de page :
par exemple, sur ton ancien domaine
xxxx.free.fr/page1.php3?id_xxxx=y est redirigée vers
**p://www.mondomaine.com/page1_xxxx_y.html



dans xxxx.free.fr/page1.php3 tu peux avoir cela
C'est juste une exemple, tu peux faire des tests pour construire tes urls en fonction des variables présentes dans ton url sur free.
Code:
<?php 
$url="h**p://www.mondomaine.com/page1_xxxx_y.html"

   header( 
    "Status: 301 Moved Permanently", false, 301); 
   header( 
    "Location: $url"); 
   exit(); 
?>
 
WRInaute passionné
Au passage,

Code:
<?php
Header( "HTTP/1.1 301 Moved Permanently" ); 
Header( "Location: http://www.example.com" ); 
?>

suffit ?
 
WRInaute discret
A priori, toutes tes pages sont en php

Donc si tu sais transcrire tes anciennes urls en nouvelles de manière automatique, tu peux faire un script sur ton ancien site.
Je ne connais pas la structure de ton site, mais vu que c'est un site dynamique, tu as un nombre limité de page :
par exemple, sur ton ancien domaine
xxxx.free.fr/page1.php3?id_xxxx=y est redirigée vers
**p://www.mondomaine.com/page1_xxxx_y.html

dans xxxx.free.fr/page1.php3 tu peux avoir cela
C'est juste une exemple, tu peux faire des tests pour construire tes urls en fonction des variables présentes dans ton url sur free.

Oui mes pages sont en php. Mais ce site est développé avec Spip. Ce CMS utilise des couples de pages php3/html
Donc j'ai des pages rubrique.php3, article.php3, mot.php3. En tout une cinquantaine de pages.
Ca me semble un peu complexe à faire.

Au passage,

Code:
<?php
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.example.com" );
?>


suffit ?

Si je comprend bien c'est ce que j'ai fait sur ma home (cf début de mon post).
je suppose que ça doit suffire.
Je vais me contenter de cette redirection sur ma page index. J'imagine que les MR vont comprendre.


Philippe
 
WRInaute discret
Je reviens pour vous tenir au courant de l'évolution

Si je tape

h**p://www.google.fr/search?hl=fr&q=philippe+bessiere&btnG=Recherche+Google&meta=cr%3DcountryFR dans GG avec ces mots clé vous trouverez mon site avec mon nouveau domaine en tête de liste

Un peu plus bas mon site sur Free.

je vois que GG n'a pas mis trop longtemps pour référencé le nouveau domaine.
J'ai vu qu'il avait référencé 4 pages pour le nouveau domaine et quand je regarde les autres résultats pour le domaine Free, GG en recense 64.

Ces éléments vous permettront ils de m'aider pour faire la redirection ?
Sinon est ce que GG va faire le travail tout seul sachant que je n'ai mis qu'une redirection sur la page index sur le domaine free

Merci
Philippe
 
WRInaute passionné
Si je comprens bien, ton spip sur le nouveau ndd est le meme que sur l'ancien mais avec des urls rewrités ?
Normalement, tu dois avoir quelque part un module qui écrit les liens dans spip et qui pourrait te donner la traduction directe "ancienne url" -> "future url", traduction que tu pourrais utiliser pour rediriger de page à page sur l'ancien site.
 
WRInaute discret
Bonjour

Si je comprens bien, ton spip sur le nouveau ndd est le meme que sur l'ancien mais avec des urls rewrités ?
Oui c'est bien ça. J'ai déménagé mon ancien site spip vers mon nouvel hébergeur en y ajoutant les urls rewritées. Par contre j'en ai profité pour mettre à jour la version de SPIP. Sur mon nouvel hébergeur le site est en 1.9, sur Free en 1.8.3. Ce que ça change en terme d'url (non réécrites):

Code:
Sur Free
xxxxx.free.fr/rubrique.php3?id_rubrique=3
Sur mon nouvel hébergement
h**p://www.mondomaine.com//spip.php?rubrique3


Spip fournit donc un htaccess prêt à l'emploi pour réécrire ces urls.

Dans le htaccess sur mon nouvel hébergement :

Code:
# Les mots-cles
RewriteRule ^\+-[^/\.]+(-\+)?(\.html)?$	spip.php?page=mot [QSA,E=url_propre:$0,L]

# Les rubriques
RewriteRule ^-[^/\.]+-?(\.html)?$	spip.php?page=rubrique [QSA,E=url_propre:$0,L]

# Les articles (en dernier car expression plus "large")
RewriteRule ^[^/\.]+(\.html)?$		spip.php?page=article [QSA,E=url_propre:$0,L]

A côté de ça SPIP dispose d'un script php qui récupére le titre dans la BDD et réécrit les urls. Il y a 300 lignes de codes. Trop long pour le montrer là.
Si tu veux le voir peut être vaut il mieux que je te l'envoi ?

Philippe
 
WRInaute passionné
Si je comprends bien, tu rajoutes le titre de tes articles dans l'url rewrité

et par exemple
/article-L_electro_francophone_1995_2004-119.html
redirige vers
spip.php?article=119 ou un truc de ce genre.
Le reste étant juste une série de mots-clefs ?

Dans ce cas, c'est plus compliqué en effet car tu as besoin de la bdd pour le script. (par contre, avoir des _ ne t'apporte pas grand chose en terme de mots-clefs.)

Le mieux est peut-être de rediriger chaque groupe de page vers une page (tous les articles vers une page d'entrée des articles etc) pour eviter d'envoyer tout le PR en page d'entrée mais de l'avoir aussi en profondeur.

Bon courage

François
 
WRInaute discret
Bonjour
Si je comprends bien, tu rajoutes le titre de tes articles dans l'url rewrité

et par exemple
/article-L_electro_francophone_1995_2004-119.html
redirige vers spip.php?article=119 ou un truc de ce genre.
Le reste étant juste une série de mots-clefs ?
Oui le titre de l'article ou rubrique est rajouté dans l'url rewrité.
Par contre l'exemple que tu donnes ici ne provient pas du site concerné mais d'un autre. Mon site dont je parle est h**p://www.pb-creation-web.com. Tu constateras que les urls sont réécrites de façon différente et plus simple. Dans ces urls il n'y a pas le numéro de l'article ou rubrique.

par exemple Refonte-du-site-internet-Francomix.html correspond à l'article 8. Il n'y a pas moyen visible d'identifier l'article.

Dans ce cas, c'est plus compliqué en effet car tu as besoin de la bdd pour le script.
Oui comme je le dis précédemment, Spip fournit un script de 300 lignes qui réécrit les urls en allant chercher dans la BDD le titre et le réécrit comme il faut avec des - entre les mots par exemple.

Le mieux est peut-être de rediriger chaque groupe de page vers une page (tous les articles vers une page d'entrée des articles etc) pour eviter d'envoyer tout le PR en page d'entrée mais de l'avoir aussi en profondeur.

Je sais pas si j'ai une page d'entrée pour les articles car ma page rubrique est dynamique : la même fonctionne pour 3 rubriques
Je pourrais faire un script qui dit si ma page est article.php3?id_article=x alors redirige vers le-titre-de-cet-article.html.
Comme il y a une cinquantaine d'articles, c'est pas la mort... je sais pas ?

Philippe
 
WRInaute passionné
Si tu as un nombre limité de page/article sur ton ancien site, redirige manuellement. Ca va te prendre un peu de temps mais au final, tu rediriges le PR vers les pages internes et tu faciliteras le crawl des bots.
 
WRInaute discret
Merci

Oui je vais faire comme ça.
Pourrais tu me dire comment on transpose :

Si ma page est xxxxxx.free.fr/rubrique.php3?id_rubrique=3 alors redirige définitivement vers mondomaine.com/titre-de-ma-page.html ?

J'avoue ne pas comprendre les subtilités de php
Je suppose que ce script ira sur mes pages .php3


Merci

Philippe
 
WRInaute passionné
ensemblevide a dit:
Merci

Oui je vais faire comme ça.
Pourrais tu me dire comment on transpose :

Si ma page est xxxxxx.free.fr/rubrique.php3?id_rubrique=3 alors redirige définitivement vers mondomaine.com/titre-de-ma-page.html ?

J'avoue ne pas comprendre les subtilités de php
Je suppose que ce script ira sur mes pages .php3


Merci

Philippe

En php, au tout début de ta page rubrique.php3

Code:
<?php 
switch($id_rubrique)
  {
  case 1:
    $url="http:// ton url 1";
    break;
  case 2:
    $url="http:// ton url 2";
    break;
  case 3:
    $url="http:// ton url 3";
    break;
  default:
    $url="http:// ton url defaut";
    break;
}
   header( "Status: 301 Moved Permanently", false, 301); 
   header( "Location: $url"); 
   exit(); 
?>
 
Discussions similaires
Haut