Ma redirection 301

Nouveau WRInaute
Bonjour,

Après avoir fait un url rewriting, je souhaite faire une redirection 301 afin d'éviter le duplicate content sur un site annuaire de personnes.

Avant, j'avais des liens du type : www.monsite.org/fiche.php?id=2479
Maintenant j'ai des liens du type : www.monsite.org/francois-dupont,2479.html

Pour faire cette redirection 301, j'ai ajouté ce code dans fiche.php au début (juste après un connect.php qui ouvre la base):

//script redirection
include("inclib/optimiseurl.php"); //permet de transformer les caractères spéciaux grâce a une fonction convertion_pour_url

// recup des données utiles dans la base

$id = stripslashes($row->a_id);
$nom = stripslashes($row->a_nom);
$prenom = stripslashes($row->a_prenom);

// détermination du lien explicite où rediriger

$url_attendue = "$prenom.$nom";
$url_attendue = convertion_pour_url($url_attendue);
$url_attendue = "/$url_attendue,$id.html" ;

// verification et redirection

$url_actuelle =$_SERVER['REQUEST_URI'];
if ($url_actuelle != $url_attendue) {
header('Status: 301 Moved Permanently', false, 301);
header('Location: $url_attendue');
exit();
}
// Fin redirection

Au final, ça me donne... rien (page blanche)

Quel est le problème ?
 
WRInaute accro
Bonjour,

Déjà je crois que c'est location: et pas Location:.

Pour le reste tu as essayé de faire un echo $url_attendue juste avant ton header() ?
 
Nouveau WRInaute
Merci pour cette indication, partant de là j'ai réglé le problème.
Il y avait un espace dû à un script php externe contenant un espace, le header de redirection doit absolument s'afficher au début, un seul espace avant et c foutu (bizarre d'ailleurs). j'ai aussi eu un souci avec les guillemets des header qui doivent être en " et pas en '...
Maintenant, ça redirige bien
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut