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

griffondorr Messages postés 427 Date d'inscription dimanche 6 juillet 2008 Statut Membre Dernière intervention 4 mai 2009 - 13 avril 2009 à 13:21
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009 - 20 avril 2009 à 10:49
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/49814-javascript-permettant-d-acceder-a-2-sites-sur-le-meme-serveur-avec-2-noms-de-domaines-differents

crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
20 avril 2009 à 10:49
> 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 !...
LeFauve42 Messages postés 239 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 20 avril 2009
20 avril 2009 à 10:31
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
Phoebeius Messages postés 11 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 16 avril 2009
16 avril 2009 à 07:12
Merci beaucoup.
Mais je ne peux rien faire côté serveur, donc le code php me convient très bien!
griffondorr Messages postés 427 Date d'inscription dimanche 6 juillet 2008 Statut Membre Dernière intervention 4 mai 2009
15 avril 2009 à 19:33
10/10 pour les explications ;)
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
15 avril 2009 à 17:02
ah bah XtremDuke a été plus rapide que moi !!!

:D
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
15 avril 2009 à 17:01
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
XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 4
15 avril 2009 à 16:57
@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/
Phoebeius Messages postés 11 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 16 avril 2009
15 avril 2009 à 16:52
Bonsoir XtreDuke.
Je suis interessé! Comment s'y prend on? C'est un code php?!
Salutations
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
15 avril 2009 à 16:27
oué mais alors la bon courage pour l'expliquer à griffondorr !!!

;-D
XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 4
15 avril 2009 à 14:02
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.
Phoebeius Messages postés 11 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 16 avril 2009
15 avril 2009 à 13:03
C'est l'équivalent suisse de ".fr"
Ca signifie Confoederatio Helvetica
griffondorr Messages postés 427 Date d'inscription dimanche 6 juillet 2008 Statut Membre Dernière intervention 4 mai 2009
15 avril 2009 à 12:32
ok merci crazygogo , juste une dernière question, que signifie l'extension .ch ?
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
15 avril 2009 à 10:17
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
griffondorr Messages postés 427 Date d'inscription dimanche 6 juillet 2008 Statut Membre Dernière intervention 4 mai 2009
15 avril 2009 à 10:11
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
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
15 avril 2009 à 09:51
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
griffondorr Messages postés 427 Date d'inscription dimanche 6 juillet 2008 Statut Membre Dernière intervention 4 mai 2009
15 avril 2009 à 09:45
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 ?
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
15 avril 2009 à 09:17
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 ????
griffondorr Messages postés 427 Date d'inscription dimanche 6 juillet 2008 Statut Membre Dernière intervention 4 mai 2009
14 avril 2009 à 21:18
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 ?
Phoebeius Messages postés 11 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 16 avril 2009
14 avril 2009 à 11:44
Le script PHP fonctionne bien, merci.
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
14 avril 2009 à 11:31
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']);
}
?>
griffondorr Messages postés 427 Date d'inscription dimanche 6 juillet 2008 Statut Membre Dernière intervention 4 mai 2009
14 avril 2009 à 11:26
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
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
14 avril 2009 à 11:24
ben oui en plus ce sera plus rapide puisque tu économise un aller / retour entre le client et le serveur.
Phoebeius Messages postés 11 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 16 avril 2009
14 avril 2009 à 11:10
Merci, je vais essayer.
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
14 avril 2009 à 11:03
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");
}
?>
Phoebeius Messages postés 11 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 16 avril 2009
14 avril 2009 à 10:31
Vous pensez qu'il faut le faire côté serveur? Auriez-vous une idée d'un code équivalant en PHP?
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
14 avril 2009 à 10: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...
griffondorr Messages postés 427 Date d'inscription dimanche 6 juillet 2008 Statut Membre Dernière intervention 4 mai 2009
13 avril 2009 à 18:12
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
Phoebeius Messages postés 11 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 16 avril 2009
13 avril 2009 à 15:59
Alors là, je ne peux pas vous aider. Mais une bonne âme viendra certainement vous secourir!
griffondorr Messages postés 427 Date d'inscription dimanche 6 juillet 2008 Statut Membre Dernière intervention 4 mai 2009
13 avril 2009 à 15:57
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
Phoebeius Messages postés 11 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 16 avril 2009
13 avril 2009 à 15:47
Avec plaisir ;)
griffondorr Messages postés 427 Date d'inscription dimanche 6 juillet 2008 Statut Membre Dernière intervention 4 mai 2009
13 avril 2009 à 15:41
merci pour ce tutorial ;)
Phoebeius Messages postés 11 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 16 avril 2009
13 avril 2009 à 15:26
Si les scripts sont autorisés dans vos paramètres de sécurité, ça doit fonctionner.
http://www.fram.fr/statiques/detect_js.htm
griffondorr Messages postés 427 Date d'inscription dimanche 6 juillet 2008 Statut Membre Dernière intervention 4 mai 2009
13 avril 2009 à 15:07
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 ?
Phoebeius Messages postés 11 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 16 avril 2009
13 avril 2009 à 14:57
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
griffondorr Messages postés 427 Date d'inscription dimanche 6 juillet 2008 Statut Membre Dernière intervention 4 mai 2009
13 avril 2009 à 14:47
comment faire pour que sa fonctionne sous fifefox et internet explorer alors ?
Phoebeius Messages postés 11 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 16 avril 2009
13 avril 2009 à 14:00
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
griffondorr Messages postés 427 Date d'inscription dimanche 6 juillet 2008 Statut Membre Dernière intervention 4 mai 2009
13 avril 2009 à 13:21
je n'arrive pas a lire le javascript ni sous firefox ni sous internet explorer :s
Rejoignez-nous