Comment modifier ce script de redirection d'url

  • Auteur de la discussion Auteur de la discussion Savoy
  • Date de début Date de début
WRInaute occasionnel
Bonjour à tous,

Dans un post précédent (-https://www.webrankinfo.com/forum/78000-page-erreur-chute-referencement-t163488.html) j'évoquais le problème d'un grand nombre de pages apparaissant n erreur dans les GWT.

Un script de redirection avait été mis en place et fonctionne ainsi :
Il teste la référence d'un article (d'une 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 une page 404 ce qui a fait exploser le nombre de pages en erreur dans mes GWT :(

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:
elseif(strstr($REDIRECT_URL,"/magasin/")) { 
$t=explode("/",$REDIRECT_URL);

        $_ref=substr($PHP_SELF,strrpos($PHP_SELF,'/')+1);
        $_ref=str_replace('.htm','',$_ref);
        //$_ref=str_replace('-',' ',$_ref);
        $_GET['_ref']=$_ref;
        
    $q="select id_product from catalogue where ref = '$_ref'";
    $r=mysql_query($q) or die($q .mysql_error());
    $row=mysql_fetch_row($r);
    $ref=$row[0];
    
    header("Status: 301 Moved Permanently", false, 301);
   header("location: /$ref-.html");
    exit();

Voilà, si quelqu'un peut m'aider c'est sympa.
Merci :wink:
 
WRInaute accro
Code:
$r=mysql_query($q) or die($q .mysql_error());
$count_product = mysql_num_row($r);
...

if($count_produc != 0){
... redirection 301 ...
}else{
... autre cas ...
}
c'est écrit de mémoire pour l'idée pas sur de la syntaxe j'ai pas l'IDE ouverte.
 
WRInaute occasionnel
Merci,
Est-ce l'on ne compte pas déjà le nb de lignes avec => $row=mysql_fetch_row($r);

Sinon est-ce que je ne devrais pas passer en redirection 401 ?

Que veux tu dire par "l'IDE ouverte" ?
 
WRInaute accro
Savoy a dit:
Que veux tu dire par "l'IDE ouverte" ?
Je ne suis pas sur de la syntaxe car je n'ai pas mon IDE (Integrated Development Environment (Environnement de développement intégré)) donc j'ai pas l'autocompletion sous la main, bref je peux me planter sur l'orthographe exacte de la fonction.

Sinon non ta fonction ne compte pas mais l'idée est de toute façon d'avoir une condition qui dit que si tu as un résultat en base pour une équivalence tu redirige sur la page adaptée en 301 sinon (else) tu gère autrement ...
 
Discussions similaires
Haut