Nicopilami Posté(e) le 25 novembre 2011 Partager Posté(e) le 25 novembre 2011 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 bye Nico Cliquer ici pour voir le tutoriel 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
PatrickH Posté(e) le 25 novembre 2011 Partager Posté(e) le 25 novembre 2011 Très bien comme tutoriel, mais en quoi c'est plus simple que d'utiliser les "virtual_hosts" (hotes virtuels) ? Patrick 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nicopilami Posté(e) le 25 novembre 2011 Auteur Partager Posté(e) le 25 novembre 2011 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 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
cricx Posté(e) le 25 novembre 2011 Partager Posté(e) le 25 novembre 2011 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..."); } 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nicopilami Posté(e) le 25 novembre 2011 Auteur Partager Posté(e) le 25 novembre 2011 @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... 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nicopilami Posté(e) le 25 novembre 2011 Auteur Partager Posté(e) le 25 novembre 2011 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. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nicopilami Posté(e) le 25 novembre 2011 Auteur Partager Posté(e) le 25 novembre 2011 et pour ceux qui veulent un exemple concrêt pour les différences entre domaine, sous domaine, virtual hosts, redirection... -> merci Patrickh et Cricx ! :-D 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
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.