Javascript permettant d'accéder à 2 sites sur le même serveur avec 2 noms de domaines différents

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 128 fois - Téléchargée 15 fois

Contenu du snippet

J'ai developpé ce script car j'avais besoin de mettre deux sites sur le même serveur.
Mon hébergeur ne permettant pas d'avoir 2 noms de domaines et 2 sites différents sur le même serveur, il m'a fallu trouver une astuce.
L'hébergeur permettait par contre d'installer plusieurs domaines avec le même DNS sur le serveur, mais quelque soit l'adresse du domaine entré, on était redirigé vers l'index du domaine principal.

Ce script est à placer dans "index.html". Il redirige vers 2 index différents selon l'URL entré dans le navigateur.
L'index de monsite1 est désormais monsite1.html et l'index de monsite2 est monsite2.html

Remarques:
monsite1.ch est mon domaine principal
Auparavant, j'ai du installer les 2 domaines avec le même DNS sur le serveur.

Source / Exemple :


<html>
<head>
  <script language="JavaScript">
<!-- Script développé par Phoebeius Ales -->
if (window.location.hostname=="monsite1.ch") {window.location.href=("monsite1.html")}
else if (window.location.hostname=="www.monsite1.ch") {window.location.href=("monsite1.html")}
else if (window.location.hostname=="monsite2.ch") {window.location.href=("monsite2.html")}
else if (window.location.hostname=="www.monsite2.ch") {window.location.href=("monsite2.html")}
  </script>
  <title>REDIRECTION</title>
</head>
<body>
</body>
</html>

Conclusion :


Vous pouvez désormais avoir une quantité de sites en ne payant qu'un seul hégergement ;)

A voir également

Ajouter un commentaire Commentaires
Messages postés
135
Date d'inscription
samedi 18 janvier 2003
Statut
Membre
Dernière intervention
17 avril 2009

> Desole, mais ce n'est pas le cas :o)
C'est le client qui interprete le header "Location" et renvoie une requete au serveur.

Exact, autant pour moi.... mais ce sera quand même plus fiable et plus rapide que d'executer un javascript !...
Messages postés
239
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
20 avril 2009

Salut,

>ben oui en plus ce sera plus rapide puisque tu économise un aller / retour entre le client et le serveur.

Desole, mais ce n'est pas le cas :o)
C'est le client qui interprete le header "Location" et renvoie une requete au serveur.

Si tu veux vraiment eviter un aller-retour, tu peux essayer (non teste) un truc genre:

<?php
if(stripos($_SERVER['HTTP_HOST'],'monsite1.ch')!== false){
readfile("monsite1.html");
}
elseif(stripos($_SERVER['HTTP_HOST'],'monsite2.ch')!== false){
readfile("monsite2.html");
}
else{
echo($_SERVER['HTTP_HOST']);
}
?>

Tu peux aussi utiliser include au lieu de readfile si tes fichiers sont en PHP et pas en HTML.

Note que plutot que de mettre tes noms de serveurs en dur, tu peux essayer un truc comme ca:

<?php
$siteRoot = ereg_replace('^([^.]+\.)?(.*)\.[^.]+$','\\2');
readfile("$siteRoot/index.html");
?>

Tu n'as plus qu'a creer un repertoire pour chacun de tes sites (monsite1, monsite2, etc...) et mettre un index.html dans chaque.

(Le regexp sert a enlever le sous domaine (optionel) et le TLD (le ".ch" dans ton cas).

Sinon, pour ceux qui y ont acces, rien ne vaut le MOD_REWRITE d'Apache pour faire la meme chose (et meme plus).

Eric
Messages postés
11
Date d'inscription
jeudi 25 août 2005
Statut
Membre
Dernière intervention
16 avril 2009

Merci beaucoup.
Mais je ne peux rien faire côté serveur, donc le code php me convient très bien!
Messages postés
427
Date d'inscription
dimanche 6 juillet 2008
Statut
Membre
Dernière intervention
4 mai 2009

10/10 pour les explications ;)
Messages postés
135
Date d'inscription
samedi 18 janvier 2003
Statut
Membre
Dernière intervention
17 avril 2009

ah bah XtremDuke a été plus rapide que moi !!!

:D
Afficher les 37 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.