Différence code PHP header Location

Nouveau WRInaute
Bonjour à tous et à toutes
Qui peux me dire la différence qu'il y a entre ça :
Code:
if ($_SERVER['QUERY_STRING'] == 'page=page_contact') {
	header('Location: /contact.html', true, 301);
	exit();
}
et ça :
Code:
if ($_SERVER['QUERY_STRING'] == 'page=page_contact') {
	header("Status: 301 Moved Permanently", false, 301);
	header("Location: /contact.htm");
	exit();
}

Merci
 
WRInaute accro
Re: Différence

La seconde méthode te permet de renvoyer des entêtes http sans forcément faire une redirection
Exemple :
Code:
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
 
Nouveau WRInaute
Merci indigène donc si je comprend bien pour éviter les titres en double sur le Web Master tool. La première ou la deuxième sont identiques ?
 
WRInaute accro
Pour éviter les titres en double il faut rediriger le sans www vers la version avec www (ou l'inverse)
et il ne faut pas publier deux pages avec un même titre
 
Nouveau WRInaute
Ça c'est bon c'est fait.
Le soucis c'est qu'avant mes url était du type index.php?Page=contact et maintenant /contact.html et Google voit les deux
 
Nouveau WRInaute
Désolé de ma réponse tardive mais j'ai du m’absenter.
Merci à Madrileño de nous avoir rejoint.
Sur mon premier post l'exemple que j'ai donné n'est peut être pas le meilleur.
Je voulais savoir si le faite de mettre true ou false faisait une différence pour l'analyse de google pour les balises meta titre et description.

Je m'explique, j'ai modifié mes url pour avoir des url propre su style /maquette-imprimerie.html au lieu de /index.php?page=imprimerie

J'ai modifié le nom du fichier imprimerie.php en maquette-imprimerie.php et j'ai mis cette ligne dans mon htaccess
Code:
RewriteRule ^([0-9_a-zA-Z-]+).html$ index.php?page=$1 [L]
et dans ma page index j'ai un petit script php qui redirige les anciennes url vers les nouvelles et un qui va chercher le fichier .php qui correspond à $_GET['page']
Code:
<?php
$page = htmlspecialchars($_GET['page']);
if ($_SERVER['REQUEST_URI'] == '/index.php?page='.$page.'')
	{
		header("Status: 301 Moved Permanently", false, 301);
		header("Location: /".$page.".html");
		exit();
	}
if(file_exists('./insert/'.$page.'.php'))
	{
		include('./insert/'.$page.'.php');
	} ?>
donc quand l'url est /index.php?page=imprimerie est entrée elle est convertie et redirigée vers /maquette-imprimerie.html et c'est la page maquette-imprimerie.php qui s'affiche :D normale quoi.

Mais google me dit description en double et il m'affiche les deux url suivante :
/index.php?page=imprimerie
/maquette-imprimerie.html

En écrivant ce post, je me demande si c'est pas à cause de cette redirection php qui fait en faite une deuxième redirection
Code:
if (0 !== strpos($_SERVER['REQUEST_URI'], '/maquette-imprimerie.') 
			&& $_SERVER['REQUEST_URI'] != '/maquette-imprimerie.html' && ($_GET['page'] == 'maquette-imprimerie') 
		|| ($_GET['page'] == 'nos_realisations') || ($_GET['page'] == 'nos_realisations&maquette='.$_GET['maquette'].'') || ($_GET['page'] == 'imprimerie') || ($_GET['page'] == 'imprimerie&maquette='.$_GET['maquette'].''))
			{
				$string = htmlspecialchars($_GET['maquette']);
				$maquette = caractereValideUrl($string).'';
				$maquette = strtolower($maquette);
				header("Status: 301 Moved Permanently", false, 301);
				header('Location: '.(empty($_GET['maquette']) ? '/maquette-imprimerie.html' : '/maquette-imprimerie.'.strtolower($maquette).'.html'));
				exit();
			}

Quand pensez vous ?

Merci de votre aide
 
Nouveau WRInaute
Merci Spout,
C'est par-ce que je demande si nos_realisations ou nos_realisations&maquette ou imprimerie ou imprimerie&maquette ?
 
Discussions similaires
Haut