Comment modifier ce script de redirection d'url

Comment modifier ce script de redirection d'url - PHP - Programmation

Marsh Posté le 27-03-2013 à 13:17:01    

Bonjour à tous,
 
Suite à la modification d'une boutique en ligne (passage sous Prestashop), un script de redirection avait été mis en place et fonctionne ainsi :
 
Il teste la référence d'un article (de l'ancienne boutique) et si cette référence existe, il redirige vers la nouvelle Url correspondante.
Sauf qu'a été oublié le cas où la référence n'existe plus ; le script renvoie donc sur une page 404 ce qui a fait exploser le nombre de pages en erreur et j'ai donc pris une grosse claque dans mon référencement sur Google :(
 
Voici le script en question, l'idée serait de tester pour renvoyer vers à la page d'accueil du site si la ref n'existe plus :

Code :
  1. ...
  2.     elseif(strstr($REDIRECT_URL,"/magasin/" )) {
  3.     $t=explode("/",$REDIRECT_URL);
  4.             $_ref=substr($PHP_SELF,strrpos($PHP_SELF,'/')+1);
  5.             $_ref=str_replace('.htm','',$_ref);
  6.             $_GET['_ref']=$_ref;
  7.          
  8.         $q="select id_product from catalogue where ref = '$_ref'";
  9.         $r=mysql_query($q) or die($q .mysql_error());
  10.         $row=mysql_fetch_row($r);
  11.         $ref=$row[0];
  12.      
  13.         header("Status: 301 Moved Permanently", false, 301);
  14.        header("location: /$ref-.html" );
  15.         exit();
  16. ...


 
 
Quelqu'un saurait-il comment modifier ce script ?
Merci  

Reply

Marsh Posté le 27-03-2013 à 13:17:01   

Reply

Marsh Posté le 27-03-2013 à 17:09:43    

Le plus simple (si possible) serait d'aller taper directement dans la base de prestashop.
 
Sinon une petite fonction qui utilise curl et qui va tester le code de retour (200: ok, 404: produit n'existe plus) du nouveau lien, ça devrait être assez simple à mettre en oeuvre


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed