Migration de sites chez Free.fr

Aujourd'hui j'ai terminé de ré-intégrer la majeure partie des photos de http://zeimg.free.fr ici même et j'ai donc décidé de rediriger toutes les requêtes vers les photos sur ce site et si possible sur une page la plus pertinente possible pour l'internaute en attendant que le site soit complètement désindexer des moteurs de recherche et pour les éventuels liens trainant un peu partout sur le web. Il serait dommage de perdre des visiteurs ou du gâcher les efforts consentis pour une référencement correct !

La particularité de mon ancien site était de génèrer des pages HTML statiques uniquement. Du coup pour faire une redirection permanente spécifique selon la page appelée sans langage de script côté serveur et sans Rewriting côté serveur est impossible. Une solution longue aurait été de générer un .htaccess contenant un RedirectPermanent par page à rediriger. Heureusement, les serveurs de pages persos chez Free sont configurés avec l'option Multiview d'Apache. Cette option permet d'appeler un fichier par le web sans son extension. Par exemple avec cette option se rendre à l'URL http://zeimg.free.fr/index revient à appeler http://zeimg.free.fr/index.php. Mieux encore, appeler dans son navigateur préféré http://zeimg.free.fr/dossier/sous-dossier/fichier.php revient en fait à appeler http://zeimg.free.fr/dossier.php/sous-dossier/fichier.php si le "dossier" n'existe pas.

Il est donc assez simple prendre tous les fichiers ou dossiers à la racine d'un site et de créer pour chacun un script PHP. Cette opération peut se faire avec le script suivant après avoir téléchargé l'ensemble du site :

#! /bin/sh
 
# répertoire contenant le site original
SITE=~/tmp/site
# répertoire contenant les scripts PHP de redirection
SITE_REDIR=~/tmp/site_redir
# script faisant effectivement la redirection
PHP_REDIR="redirect.php"
 
# séparateur pour for est uniquement le retour à la ligne
IFS=`echo ""`
[ ! -d "$SITE_REDIR" ] && mkdir -p "$SITE_REDIR"
 
for f in `find $SITE -maxdepth 1` ; do
  n=`basename $f` ;
  echo "<?php include('$PHP_REDIR'); ?>" > "$SITE_REDIR/$n.php"
done
 
touch "$SITE_REDIR/$PHP_REDIR.php"

Ce script prend tous les fichiers et dossiers à la racine du site créer pour chacun un fichier PHP portant son nom suivi de l'extension PHP. Ces fichiers PHP contiennent tous uniquement le code suivant :

<?php include('redirect.php'); ?>

Il reste donc uniquement à écrire dans le fichier redirect.php la logique de redirection qui est évidemment propre à chaque site. Par exemple, pour ZeImg, mon fichier redirect.php (écourté) est le suivant :

<?php
$REDIRECTS['bretagne']='http://pwet.fr/photos/galeries/la_cote_de_granit_rose_lannion_et_ses_environs';
$REDIRECTS['chateau-aumelas']='http://pwet.fr/photos/galeries/le_chateau_d_aumelas';
/** ... **/
 
define('FINAL_REDIRECT', 'http://pwet.fr/photos');
$file = $_SERVER['REQUEST_URI'];
function redirect_301($url)
{
    header("Status: 301 Moved Permanently", true, 301);
    header("Location: ".$url);
    exit();
}
 
foreach($REDIRECTS as $reg => $redir)
{
    if ( ereg(".*$reg.*", $file) )
        redirect_301($redir);
}
redirect_301(FINAL_REDIRECT);
?>

» Commentaire

- Aide :'( (#67102) par bobmartien le 05 Septembre 2008 à 20:36
Salut,
J'ai besoin de ton aide !
Je t'explique: J'ai créé mon blog de design chez free (m.dehove.free.fr). J'ai acheté un hébergement chez 1&1 (bobmartien-design.fr)j'ai donc tout transféré et j'ai 2 site quasi identique!

Mais j'aimerais que les visiteurs soient redirigés vers bobmartien-design.fr

J'ai donc créé une nvelle page index.php avec 4 ligne de core pour une redirection 301.

Mais si on fait des recherches, la redirection ne marche que pour index.php

Et en voyant ce que tu marques ! J'aimerais aussi que toutes mais pages se rediriges vers mon site ! Même si elles sont toutes redirigées vers bobmartien-design.fr (l'index)

Mais je comprend pas ton code etc tu pourrais m'aider svp?

Les commentaires sont désactivés

» Trackback

Aucun trackback

Les trackacks sont désactivés

Flux RSS des billets

Flux RSS des billets

Rechercher sur pwet.fr

À retenir

Derniers commentaires

Archives

Nuage de tags

Bioutifoul photos

Quelques liens

Licence d'utilisation

Contenu sous Licence Creative Commons By-Sa

Sauf mentions spécifiques, les billets et les photos publiés sur ce site sont placés sous la licence Creative Commons by-sa.

Pour toute utilisation dépassant le cadre de cette licence, merci de me contacter par e-mail.

Login