redirection suivant url_rewrtiting

Mammouth du PHP | 643 Messages

16 nov. 2015, 16:59

Salut à tous.

J'ai procédé à l'url rewriting ca marche bien.
Cependant on peut toujours accéder à l'ancienne url ( j'aimerais faire en sorte que si on accède à l'ancienne url alors on est redirigé automatiquement sur la nouvelle avec l'url_rewrite.

htaccess
RewriteRule ([a-zA-Z0-9\-]+)/([0-9]+) annonce_zoom.php?url=$1&id=$2

Page d'une news....
<?php
		//Selection de l'annonce
		$sql = ("SELECT * FROM loisirs WHERE id_loisirs = ".$_GET['id']." AND valide = 1");
		$id = $_GET["id"];
		$req = $bdd->query($sql);
		$row = $req->fetch() ;
		$req->closeCursor();
		$url = "/".$row["url_rewrite"]."/".$row["id_loisirs"];
		
		if($row["url_rewrite"]!=$row["url_rewrite"]) {
		header("location:".$row["url_rewrite"]."/".$row["id_loisirs"]);
// Suite ....
Page par laquelle on accéder à une page de news ( je ne met que l'essentiel du code )
// Rewrite
$url = "".$ligne["url_rewrite"]."/".$ligne["id_loisirs"];
<a href="/'.$url.'"><input type="button" class="btn_1" value="EN DETAILS"></a>
PS:
J'ai mis ceci pour éviter que google croit qu'il y est des doublons....
<link rel="canonical" href="http://lasortie.fr<?php echo $url;?>" />
Car pour le référencement je pense que je suis entrain de prendre de mauvais point la :/

Merci par avance :wink:

Mammouth du PHP | 2703 Messages

16 nov. 2015, 17:09

déjà dit :
if($row["url_rewrite"]!=$row["url_rewrite"]) {
header("location:".$row["url_rewrite"]."/".$row["id_loisirs"]);
ton test équivaut à faire
if(1 != 1){

}
est-ce vraiment utile de faire un tel test ?

Mammouth du PHP | 643 Messages

16 nov. 2015, 17:10

Bah j'essaie plusieurs chose étant donné que ça ne marche toujours pas :/

Mammouth du PHP | 643 Messages

16 nov. 2015, 17:52

Alors en fait c'est que ce code ci dessous à l'air de marcher on voi que la redirection se fait mais la page ne s'affiche pas.
pas de message d'erreur.

La page n'est pas redirigée correctement

L'url qu'affiche le navigateur est bien la bonne url ....
<?php
		$sql = ("SELECT * FROM loisirs WHERE id_loisirs = ".$_GET['id']." AND valide = 1");
		$req = $bdd->query($sql);
		$row = $req->fetch() ;

		if($row["url_rewrite"]!=$_GET["url_rewrite"]) {
		header("location:/".$row["url_rewrite"]."/".$row["id_loisirs"]);
		}