begin process at 2010 03 21 10:25:17
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Navigation

 > JAVASCRIPT PERMETTANT D'ACCÉDER À 2 SITES SUR LE MÊME SERVEUR AVEC 2 NOMS DE DOMAINES DIFFÉRENTS

JAVASCRIPT PERMETTANT D'ACCÉDER À 2 SITES SUR LE MÊME SERVEUR AVEC 2 NOMS DE DOMAINES DIFFÉRENTS


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Navigation Niveau :Débutant Date de création :13/04/2009 Vu :1 661

Auteur : Phoebeius

Ecrire un message privé
Commentaire sur cette source (37)
Ajouter un commentaire et/ou une note

 Description

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

  • <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>
<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 ;)


 Sources de la même categorie

Source avec Zip EMULATION DE $_GET() DU PHP par jchan
Source avec Zip ACCESSIBARRE - AMÉLIORER LE CONFORT DES PERSONNES NON-VOYANT... par Pfuch
Source avec Zip CLASS BARRE DE DÉFILEMENT (SCROLLBAR) JAVASCRIPT par TheWeasel47
Source avec une capture TAILLEFONTE par tiger222
Source avec Zip Source avec une capture MOTEUR DE RECHERCHE SANS PHP par jdmcreator

Commentaires et avis

Commentaire de griffondorr le 13/04/2009 13:21:47

je n'arrive pas a lire le javascript ni sous firefox ni sous internet explorer :s

Commentaire de Phoebeius le 13/04/2009 14:00:06

Bonjour.
Vous n'arrivez pas à lire la source sur cette page ou est-ce que le script ne fonctionne pas sous IE ou Firefox?
Dans le premier cas, je ne peux rien faire! Dans le second, j'ai testé sous IE7 et Firefox, il fonctionne. Il faut bien sûr adapter les liens monsite1 et monsite2 à votre site!

Salutations,
Phoebeius Ales

Commentaire de griffondorr le 13/04/2009 14:47:39

comment faire pour que sa fonctionne sous fifefox et internet explorer alors ?

Commentaire de Phoebeius le 13/04/2009 14:57:17

Il faut copier le code tel quel et le coller dans la source du fichier "index.html" de votre site. Rien d'autre n'est nécessaire. Ensuite, monsite1.html et monsite2.html remplacent l'index.

Salutations,
Phoebeius

Commentaire de griffondorr le 13/04/2009 15:07:02

oui sa je sais, mais je parle, qu'esqu'il faut faire dans la config de internet explorer et firefox pour que sa marche la lecture du javascript ?

Commentaire de Phoebeius le 13/04/2009 15:26:22

Si les scripts sont autorisés dans vos paramètres de sécurité, ça doit fonctionner.
http://www.fram.fr/statiques/detect_js.htm

Commentaire de griffondorr le 13/04/2009 15:41:18

merci pour ce tutorial ;)

Commentaire de Phoebeius le 13/04/2009 15:47:34

Avec plaisir ;)

Commentaire de griffondorr le 13/04/2009 15:57:45

mais j'utilise adblock pour les deux navigateurs, pourtant j'ai autorisé le java sur les deux navigateurs via adblock, je vois pas où sa bloque :s

Commentaire de Phoebeius le 13/04/2009 15:59:30

Alors là, je ne peux pas vous aider. Mais une bonne âme viendra certainement vous secourir!

Commentaire de griffondorr le 13/04/2009 18:12:49

merci quand meme pour ta réponse, mais je pense que si tu m'apporte une boué sa me sauveras :D

mdrr

/me sort

lol

Commentaire de crazygogo le 14/04/2009 10:24:24

Comme quoi il ne faut surtout pas utiliser javascript pour ce genre de choses...
Trop dépendant de la config du client... certains ne pourront jamais arriver sur le site !!!...
Il faut le faire en php ou autre langage côté serveur...

Commentaire de Phoebeius le 14/04/2009 10:31:04

Vous pensez qu'il faut le faire côté serveur? Auriez-vous une idée d'un code équivalant en PHP?

Commentaire de crazygogo le 14/04/2009 11:03:56

Je ne crois pas, j'en suis sur....
je n'ai pas le temps de tester mais ça doit ressenbler à ça:

<?php
if(stripos($_SERVER['HTTP_HOST'],'monsite1.ch')!== false){
    header("Location: http://www.monsite1.ch/monsite1.html");
}
elseif(stripos($_SERVER['HTTP_HOST'],'monsite2.ch')!== false){
    header("Location: http://www.monsite2.ch/monsite2.html");
}
?>

Commentaire de Phoebeius le 14/04/2009 11:10:48

Merci, je vais essayer.

Commentaire de crazygogo le 14/04/2009 11:24:04

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

Commentaire de griffondorr le 14/04/2009 11:26:35

je viens de rentrer le code sur un fichier index.php
dont j'ai mis le code :

<?php
if(stripos($_SERVER['HTTP_HOST'],'monsite1.ch')!== false){
    header("Location: http://www.monsite1.ch/monsite1.html");
}
elseif(stripos($_SERVER['HTTP_HOST'],'monsite2.ch')!== false){
    header("Location: http://www.monsite2.ch/monsite2.html");
}
?>

et quand j'essaye de le lire sous wampserver, ya un blanc complet, je comprend pas :s

Commentaire de crazygogo le 14/04/2009 11:31:08

déja ça veut dire qu'il y'a pas d'erreur de script c'est bon signe.

le blanc ça veut juste dire que tu rentres dans aucune des deux conditions et comme le programme ne fait rien dans ce cas la... bah c'est blanc !!!!

essaye avec ça, si tu rentres dans aucune condition il affiche le domaine...

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

Commentaire de Phoebeius le 14/04/2009 11:44:23

Le script PHP fonctionne bien, merci.

Commentaire de griffondorr le 14/04/2009 21:18:52

crazygogo  , je viens de mettre ton deuxième code que j'ai tester sous wampserver et voilà ce que j'obtien :


localhost


c'est normal que j'obtien ce message ?

Commentaire de crazygogo le 15/04/2009 09:17:02

si tu avais lu mon message tu aurais ta réponse....

comme j'ai marqué: "essaye avec ça, si tu rentres dans aucune condition il affiche le domaine..."

donc comme tu es en local tu appelles ton site avec "http://localhost" comment veux tu qu'il sache quel site tu veux ????

Commentaire de griffondorr le 15/04/2009 09:45:41

crazygogo, merci , alors sa veut dire que sa marcheras pas en local ?

car j'avais essayer de mettre le code dans un fichier index.php et puis j'avais pas mis d'autre fichier dans le dossier

et ya que le messsage : localhost qui est apparue.

ya pas un moyen pour que sa marche en local ?

Commentaire de crazygogo le 15/04/2009 09:51:41

ben si tu modifies ton fichier host (http://www.commentcamarche.net/faq/sujet-5993-modifier-son-fichier-hosts) et tu te crées deux domaines en local et ça devrait marcher....
bien sur il faut aussi les fichiers monsite1.html et monsite2.html

exemple de fichier host:

127.0.0.1 localhost
127.0.0.1 monsite1.ch
127.0.0.1 monsite2.ch

Commentaire de griffondorr le 15/04/2009 10:11:35

crazygogo

merci pour ton aide , j'apprécie ;)

comment crée deux domaine en local ?

dsl si je suis chiant, mais j'ai besoin de savoir

Commentaire de crazygogo le 15/04/2009 10:17:36

je t'ai mis l'adresse du site qui explique comment modifier le fichier host ainsi qu'un exemple du fichier host que tu dois créer pour avoir les deux domaines, je vois pas ce que je peu faire de plus......

par pitié lis les réponses avant de poser des nouvelles questions dans tous les sens !!!
merci

:-p

Commentaire de griffondorr le 15/04/2009 12:32:56

ok merci crazygogo , juste une dernière question, que signifie l'extension .ch ?

Commentaire de Phoebeius le 15/04/2009 13:03:05

C'est l'équivalent suisse de ".fr"
Ca signifie Confoederatio Helvetica

Commentaire de XtremDuke le 15/04/2009 14:02:20

Salut,

Tu peux également utiliser la ré-écriture d'url (urlrewriting) pour réorienter l'utilisateur sans même toucher à l'adresse. De ce fait, l'utilisateur ne s'appercevra pas qu'il change de domaine.

Commentaire de crazygogo le 15/04/2009 16:27:57

oué mais alors la bon courage pour l'expliquer à griffondorr !!!

;-D

Commentaire de Phoebeius le 15/04/2009 16:52:43

Bonsoir XtreDuke.
Je suis interessé! Comment s'y prend on? C'est un code php?!
Salutations

Commentaire de XtremDuke le 15/04/2009 16:57:02

@Phoebeius : ce se gère effectivement côté serveur.

Je t'invites à jetter un oeil sur des sites comme http://g-rossolini.developpez.com/tutoriels/seo/url-rewriting/

Commentaire de crazygogo le 15/04/2009 17:01:58

Non c'est encore mieux et plus rapide puisque cette fois ci tu interviens au niveau de la config d'apache, j'en ai pas parlé car c'est moins simple que mon petit bout de code en php et il faut réunir plus de conditions pour pouvoir le faire:


URL Rewriting : les étapes pour la mise en place

   1. Vérifier que votre hébergeur permet l'utilisation de l'URL Rewriting. Si vous êtes chez un hébergeur gratuit qui ne le gère pas, c'est une très bonne raison pour franchir le cap et bénéficier de tous les avantages d'un hébergement professionnel (ça ne coûte pas grand chose.)
   2. Identifier les pages dynamiques dont l'URL comporte des paramètres, et choisir un nouveau schéma d'URL "propre"
   3. Ecrire les règles de réécriture dans le fichier .htaccess
   4. Changer tous les liens vers chaque fichier dont l'URL a changé
   5. Mettre à jour votre site et vérifier que tout fonctionne


extrait tiré de: http://www.webrankinfo.com/dossiers/debutants/url-rewriting


mais il y'a aussi:
http://forum.webrankinfo.com/url-rewriting-pour-les-nuls-t32396.html

Commentaire de crazygogo le 15/04/2009 17:02:43

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

:D

Commentaire de griffondorr le 15/04/2009 19:33:25 10/10

10/10 pour les explications ;)

Commentaire de Phoebeius le 16/04/2009 07:12:29

Merci beaucoup.
Mais je ne peux rien faire côté serveur, donc le code php me convient très bien!

Commentaire de LeFauve42 le 20/04/2009 10:31:37

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

Commentaire de crazygogo le 20/04/2009 10:49:15

> 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 !...

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales