web-dev-qa-db-fra.com

Comment configurer le fichier d'hôtes pour plusieurs domaines / hôtes avec la même IP?

Comme vous le savez sûrement, vous pouvez mapper les noms d'hôte aux adresses IP avec le fichier "hosts". Ceci est très utile, surtout lorsque vous développez, car vous pouvez modifier localhost pour project1.

Cette partie est claire, mais malheureusement, je ne peux pas comprendre comment configurer cela pour ouvrir plusieurs projets avec la même IP. J'ai essayé quelques choses sans succès telles que:

127.0.0.1/projects/project1  project1
127.0.0.1/projects/project2  project2

J'ai vérifié quelques questions connexes mais je n'ai pas trouvé de réponse. Alors, puis-je accomplir ce que j'essaie de faire d'une manière ou d'une autre? Aucune suggestion?

34
Vinicius Santana

J'ai résolu ce problème grâce à Google et aux collaborateurs, @jvilhena et @DRC. Voici comment je l'ai fait:

Si vous utilisez Windows et XAMPP comme dans mon cas, la première étape consiste à configurer le fichier "hosts". Si vous utilisez Windows, il est probable que vous le trouverez dans C:\Windows\System32\drivers\etc\hosts. Vous pouvez utiliser n'importe quel éditeur de texte pour le modifier.

Vous pouvez configurer autant de noms d'hôtes que vous le souhaitez, tous pointant vers votre hôte local, avec l'adresse IP, 127.0.0.1.

Par exemple:

 127.0.0.1               local.project1
 127.0.0.1               local.project2
 127.0.0.1               youcanuseany.name.here

La deuxième étape consistait à traiter le fichier Apache httpd-vhosts.conf. Encore une fois, j'utilise Windows et XAMPP. Il est probable que ce fichier se trouve dans C:\xampp\Apache\conf\extra\httpd-vhosts.conf.

Ce n'est pas obligatoire, mais j'aime conserver mes dossiers de projet dans mon dossier htdocs @ C:\xampp\htdocs.

Pour chaque projet pour lequel vous créez un "nom d'hôte", vous devez ajouter ce qui suit à votre fichier httpd-vhosts.conf:

<VirtualHost *>
    DocumentRoot "C:\xampp\htdocs\projectx"
    ServerName youcanuseany.name.here
    <Directory "C:\xampp\htdocs\projectx">
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>  

Un autre exemple juste pour le plaisir :)

<VirtualHost *>
    DocumentRoot "C:\xampp\htdocs\project1"
    ServerName local.project1
    <Directory "C:\xampp\htdocs\project1">
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Vous pouvez maintenant taper local.project1 et youcanuseany.name.here dans votre navigateur et il devrait ouvrir votre projet comme si vous tapiez localhost/project1 et localhost/projectX. J'espère que ça aide.

28
Vinicius Santana

Le fichier d'hôtes n'est qu'un mappage de noms vers une IP. Vous pouvez spécifier plusieurs noms à côté d'une adresse IP comme ceci:

127.0.0.1 name1 name2 name3.domain
51
DRC

Il y a deux réponses très votées au moment de la rédaction - l'une mettant tous les alias sur une seule ligne et l'autre les mettant sur des lignes distinctes. Il convient de noter que si la première solution est plus compacte, la seconde peut également être nécessaire car Windows a une limite de 9 pour le nombre d'alias sur chaque ligne . Donc, pour avoir une compacité maximale mais toujours fonctionner quand il y a beaucoup d'alias: -

127.0.0.1 alias1 alias2 alias3 alias4 alias5 alias6 alias7 alias8 alias9
127.0.0.1 alias10 alias11 alias12 alias13 alias14 alias15 alias16 alias17 alias18 
127.0.0.1 alias19 ...etc...
3
Steve Chambers