Vous êtes ici Codes PHP et MySQL > Inclassable > Redirection 301 et éviter le duplicate pour la...

 

Redirection 301 et éviter le duplicate pour la page index

Pour éviter le duplicate de la page index lors d'une redirection 301 via PHP, on va pour changer un peu, utiliser la fonction switch.
Mettre ce script sur la page index.php à rediriger, je précise que cette page ne doit contenir que ce script.
 
david96
Site de l'auteur voir
[4] sources en PHP voir
Code vu 6528 fois
Enregistré le 21 Aout 2007
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Redirection 301 et éviter le duplicate pour la page index
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Redirection 301 et éviter le duplicate pour la page...    */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts297-PHP.htm              */
/* Auteur         : david96                                                   */
/* Date édition   : 21 Aout 2007                                              */
/* Website auteur : http://www.emploitheque.org                               */
/*                                                                            */
/******************************************************************************/

$uri $_SERVER["REQUEST_URI"];
$url="http://www.nouveausite.com/";
switch ($uri)
{
   case "/":
   header("Status: 301 Moved Permanently"false301);
   header("Location: $url");
   break;

   case "/index.php":
   header("Status: 301 Moved Permanently"false301);
   header("Location: $url");
   break;
   
   default:
   header("Status: 301 Moved Permanently"false301);
   header("Location: $url");
}
?> 
 

Fonctions du code

: Envoie un en-tête HTTP - (PHP 4, PHP 5)
Commentaires
2 choses sur lequel je ne suis pas d'accord

1° le titre, je te cites :
"Mettre ce script sur la page index.php à rediriger, je précise que cette page ne doit contenir que ce script."

Comment ca ? c'est n'importe quoi, d'abord ce code est a placer UNIQUEMENT sur la page index.php et tout en haut du code.
Ce qu'il ne faut pas, c'est avoir du écrit du html avant ce code, car le cache du navigateur doit etre vide si l'on veut que la redirection se fasse.


case "/":
header("Status: 301 Moved Permanently", false, 301);
header("Location: $url");
break;

ce que tu fais la, c'est dire que la racine est rediriger sur la racine en 301
en plus la redirection se fait belle et bien. Elle sert à rien, puis je sais pas si c'est bon pour les gros moteurs ce genre d'erreur.

tu peux modifier ton script sous le manager ;)
 
On est d'accord, je ne comprend pas, je te cite :
[KOogar]Comment ca ? c'est n'importe quoi, d'abord ce code est a placer UNIQUEMENT sur la page index.php et tout en haut du code.[/KOogar]
C'est ce que j'ai dit :
[david96]Mettre ce script sur la page index.php à rediriger, je précise que cette page ne doit contenir que ce script[/david96]

Pour le 2e point
[KOogar]case "/":
header("Status: 301 Moved Permanently", false, 301);
header("Location: $url");
break;

// ce que tu fais la, c'est dire que la racine est rediriger sur la racine en 301
[/Koogar]
Ce que je dis là, c'est que l'ancien site sera rediriger en 301 vers la nouvelle url ($url)... N'oublie pas que ce script, est mis dans l'index.php de l'ancien site et non du nouveau !

Doit y avoir amalgame je pense là !!
 
>> Doit y avoir amalgame je pense là !!

vi

si c'est pour tout rediriger massivement vers l'accueil du nouveau site, 2 lignes suffisent, tu crois pas ?

header("Status: 301 Moved Permanently", false, 301);
header("Location: http://www.nouveausite.com/");
 
Bâ oui carrément, mais j'avais envie de le faire avec un switch, pourquoi ? ça serait trop long à expliquer, restons sur le fait que ce n'était qu'une envie ! :D
 
pourquoi vouloir réinventer le fil à couper le beurre ?
même si t'en as l'envie...
tu pourrais également le faire avec une ligne dans ton htaccess,
& garder la forme de tes urls sur le nouveau domaine... ^^
 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 

Connexion

 
 

Inclassable

 
 

PHP

 
 
        Publicité