Aide avec $url

  • Auteur de la discussion Auteur de la discussion h4ni
  • Date de début Date de début
WRInaute occasionnel
Bonsoir tout le monde
j'ai rewriter mes liens recement et puisque j'ai des pages indéxé sur google je risque d'avoir du contenu double!
c'est pour cela j'ai essayé d'utilisé $url = $_SERVER['REQUEST_URI'];

bon ce que je veu faire c'est
redigé mes liens genre.php?genre= **** vers musique-***.php

pour cela j'ai essayé


Code:
<?php

$uri = "$_SERVER[REQUEST_URI]";
$url="www.mondomaine"; // url de ton site sans le http://
$r = strstr ($uri,'genre.php?genre=');
if($r != FALSE)  {
$uri2 = str_replace('genre.php?genre=','musique-',$uri,.php);
header("Status: 301 Moved Permanently");
header("Location:http://".$url.$uri2);}

?>
 
WRInaute accro
Ce que je fais moi c'est que je reconstruis l'url "que celà devrait être" (musique-$var.php par exemple), --> $test_uri

Ensuite je fais un truc du genre

Code:
<?php
if($test_uri != $_SERVER['REQUEST_URI'])
{
redirect($test_uri)
}
?>
 
WRInaute passionné
Ce qu'il t'a proposé :
Dans ton script PHP tu crées une variable $test_uri où tu mets la "bonne" adresse où on devrait accéder.
Tu vérifies que le $_SERVER['REQUEST_URI'] est bien le meme que cette variable.
Si oui c'est nickel.
Si non, tu rediriges vers la "bonne" url.
 
WRInaute occasionnel
Bonjour
j'ai essayé

Code:
$test_uri = musique-$genre.php ;
					if($test_uri != $_SERVER['REQUEST_URI'])
{
redirect($test_uri)
}
puisque la variable $genre c'est elle qui m'afiche le genre de musique dans le lien
mais ca n'a rien donné! enfin ca met une erreur dans la page
 
WRInaute passionné
Si je me souviens bien, $var1.$var2 dans un Header Location, ca passe mal.
Je fais comme les autres, je construits l'url avant.
 
WRInaute passionné
Et bien sûr, dans ton test, $genre était déjà définie au-dessus ?
Et... il manque un point virgule après redirect() qui d'ailleurs n'est pas une fonction de PHP ! la fonction c'est header('Location : ... comme dit tout au début.
 
WRInaute occasionnel
Dj_Apx a dit:
Et bien sûr, dans ton test, $genre était déjà définie au-dessus ?

oui
je vien d'essayé
Code:
$genre = $_GET['genre'];
$uri = "$_SERVER[REQUEST_URI]";
 $test_uri = musique-$genre.php ;
										$url="www.domaine.com";
if($test_uri != $_SERVER['REQUEST_URI']) 
										{
header("Location:http://".$url.$test_uri);
}
mais ca n'a rien changé!! j'ai toujour les anciens liens!
 
WRInaute passionné
1 - ça ne sert à rien d'écrire "$variable"; tu peux direct écrire $variable.

2 - $test_uri = musique-$genre.php ; devrait te donner une erreur. Je suppose que tu veux écrire $test_uri = "musique-$genre.php" ;

3 - la redirection ne marchera pas vu que l'url finale que tu donnes est http://www.example.commusique-genre.php (il manque un slash !)

4 - pour commencer, fais une redirection vers "https://www.webrankinfo.com" et regarde si ça marche, avant de lui donner ton url construite.
 
WRInaute occasionnel
je vien d'essayé ca:

Code:
$uri = $_SERVER['REQUEST_URI'];
                                        $test_uri = "musique-$genre.php" ;
										$url="www.domaine.com/";
										if($test_uri != $_SERVER['REQUEST_URI']) 
										{
header("Location:http://".$url.$test_uri);}

et ca n'a rien donné!

si non je peu mettre le code dans n'importe quel partie de la page non?
sufi de mettre la valeur de $genre avant c ca!
 
WRInaute passionné
Premièrement, tu ne peux pas mettre ça n'importe où dans la page vu qu'il faut ABSOLUMENT n'avoir renvoyé aucun code HTML ou autre info au navigateur, si on veut faire une redirection.
Deuxiemement, cf réponse ci-dessus.
Troisiemement, cf. le point 4- de ma réponse précédente.
 

➡️ 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