Redirection URL

Résolu/Fermé
Explo - 2 nov. 2010 à 08:45
 Explo - 8 nov. 2010 à 09:16
Bonjour,

J'ai un site web auquel 4 URL pointes sur ce site, (URL1.com, URL2.com, URL3.com, URL4.com).
L'url1.com est le domaine principal, les URL 2, 3, 4 sont des alias enregistrés auprès de mon hébergeur.

Lorsque j'arrive sur le site avec l'URL1.com, pas de problème, mais si j'arrive avec les 3 autres URL le site ne s'affiche pas.

J'ai une sécurité dans le fichier config.php qui empêche l'affichage du site si l'URL n'est pas URL1.com.
Ceci afin d'éviter que mon site se retrouve sur un site miroir étant donné que des payements sont effectué sur mon site.

  define('HTTP_SERVER', 'http://www.URL1.com');
  define('HTTPS_SERVER', 'https://www.URL1.com');


J'aimerais écrire un code qui redirige les URL2.com ,URL3.com ,URL4.com en URL1.com

J'ai testé ce code sans succès:

$h1 = "www.URL2.com/";
$h2 = "www.URL3.com/";
$h2 = "www.URL4.com/";
if (($_SERVER['HTTP_HOST'] == $h1 ) || ($_SERVER['HTTP_HOST'] == $h2 )  || ($_SERVER['HTTP_HOST'] == $h3 )) { header("Location: www.URL1.com/"); }
exit;  


J'espère que ma question n'est pas suffisamment explicite...

Merci pour votre aide...

Explo

3 réponses

scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
2 nov. 2010 à 10:48
Ceci fonctionne chez moi :

// Website's url (used for verifications)
$base_url = "www.mon-site.net";

// Database connection
if($_SERVER['HTTP_HOST'] == "$base_url")
{
	// je me connecte en fait ici 
	// à la base de donnée de mon site
}
else if($_SERVER['HTTP_HOST'] == "localhost")
{
	// ici je me connecte à ma base de données
	// locale lorsque je développe le site chez moi
}
else
{
	// dans le cas où il s'agit d'une autre url
	// je renvoie sur la $base_url et ça fonctionne
	Header("Location: http://$base_url/");
}


Il faut faire attention en utilisant la fonction header() car elle ne fonctionne que si aucun output n'a été fait.

En gros tu ne peux pas avoir renvoyé des données au client concernant ta page (du texte ou quoi que ce soit) sinon le header ne fonctionnera pas.

Test ton code en faisant un echo "test 1"; suivit d'un exit(); là où tu veux vérifier qu'il passe ou non.
0
Merci, je vais tester cela en fin de journée et je vous tiens au courant...

Merci beaucoup....
Salutations
Explo
0
Hello, je vous remercie pour votre aide...

Ça marche parfaitement...

Encore merci et bonne journée...

Salutations
Explo
0