Aller au contenu

Gestion Des Sous-Domaines, Alternative Aux "virtual Hosts"


Nicopilami

Messages recommandés

Hello, en tant qu'alternative aux virtual hosts que gère Syno mais qu'il faut déclarer explicitement, une simple page index.php à la racine de "/WEB" et hop c'est tout bon !

Il suffit juste de créer un repertoire par sous domaine à la racine du repertoire WEB, et la redirection se fera toute seule

(si un visiteur tappe toto.tondomaine.extension il sera redirigé vers les pages du rep "toto") sans rien avoir déclaré de plus

Voici le code de la page de redirection index.php à mettre à la racine de /WEB :


<?php

   //extract the subopmain (here, only one level) -> toto.domain.com becomes domain.com, and subdomain is toto

   // (here stored as the $folder variable)

   $folder=$_SERVER['SERVER_NAME'];

   $posPoint=strpos($folder,".");

   $folder=substr($folder,0,$posPoint);

   //****************************************************

   // if /web/toto exists, jump the user into it

   //****************************************************

   if( $folder !="" && realpath($folder)!=null)

   {

	  header("Location:./$folder");

	  die("automatic subdomain redirection...");

   }

?>

<html>

<head>

  <title><? $_SERVER['SERVER_NAME']; ?></title>

</head>

<body style='font-family:Verdana;font-size:-1'>

	  <center>

	 Hello, you are here at the root site homepage

	</center>

</body>

</html>

Ensuite, c'est tout bon :

par exemple, pour créer un rep1.toto.fr

1°) je crée le repertoire /WEB/rep1 sur le syno

2°) je mets mes pages dedant

3°) je tappe http://rep1.toto.fr

voili voilou, le tour est joué !!!

N'hésitez pas à faire des commentaires, à m'indiquer s'il y a une coquille dans le tutoriel, ou simplement dire s'il vous a servi biggrin.png

bye

Nico

Cliquer ici pour voir le tutoriel

Lien vers le commentaire
Partager sur d’autres sites

Si je ne me trompe pas, dès que tu veux créer un sous domaine, il faut déclarer explicitement le nom, et refaire cela pour chaque sous domaine; Cependant, cela permet de garder le nom du sous domaine dans la barre d'adresse.

En revanche ici, rien à déclarer, il suffit de créer un repertoire par sous domaine; Le process est - pour moi - nettement moins contraignant, car personnellement j'accède au repertoire WEB en tant que repertoire réseau, depuis Windows. Du coup, creation d'un répertoire = nouveau sous domaine

Lien vers le commentaire
Partager sur d’autres sites

on se demande bien pourquoi les programmeurs d'apache, iis, lighty ou nginx ou d'autres serveurs web se sont embêtés à implémenter les hôtes virtuels si c'est aussi simple que ça d'avoir plusieurs sites sur un serveur. À mon avis, il y a un truc ! Les spécialistes vont nous dire la différence entre une redirection et un hôte virtuel !

Mais ton code, qui est certainement très utile, mériterait d'être amélioré :


   if( $folder !="" && realpath($folder)!=null)

   {

          header('Status: 301 Moved Permanently', false, 301);

          header("Location:./$folder");

          die("automatic subdomain redirection...");

   }



Lien vers le commentaire
Partager sur d’autres sites

@Cricx :

- ATTENTION, je n'ai en aucun cas dit ou voulu dire que les virtual hosts ne servaient à rien !!!!

je propose simplement ici une alternative permettant de faire une redirection simple. Contrairement aux localhosts d'Apache / syno, cette solution ne permettra pas de garder la barre d'adresse intacte (sauf en bidouillant encore plus avec des frames par exemple);Jje ne prétend pas que cette solution soit une solution miracle, je partage juste ce que j'ai fait pour mon cas personnel, et qui fonctionne à merveilles, car j'ai vu quelques demandes de ce type sur les forums de NAS-FORUM :-)

- En réalité j'ai simplifié mon code pour le tutoriel; Chez moi j'ai développé d'autres bouts de code pour gérer les utilisateurs (accès ou non aux sites) par PHP, établir des exceptions (par exemlpe des sous domaines qui passeront en https ou en local - adresse de base différente en 192.168.... automatiquement) et autres...

Lien vers le commentaire
Partager sur d’autres sites

Je précise que les "virtual hosts" permettent de faire comme si on avait un apache différent par site, gérer les droits, les erreurs et les configurations indépendamment les unes des autres, et j'en passe (beaucoup)... Mon code ci-dessus est juste une redirection, si on veut des droits spécifiques, il faudra gérer les droits d'accès par fichier ".htaccess" dans les différents répertoires ou par du code PHP.

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.