web-dev-qa-db-fra.com

Ajouter un sous-domaine à l'URL de l'hôte local

J'écris une application Web qui se comporte différemment selon un préfixe d'URL. Le format est quelque chose comme:

   https://myprefix.mycompany.com

L'application Web se comporte différemment en fonction de myprefix. Mon application Web extrait cette partie de l'URL et agit en conséquence.

Cependant, lorsque je teste sur mon local, j'utilise une adresse localhost:

   https://localhost:1234

Je ne ferais pas quelque chose comme:

   https://myprefix.localhost:1234

Quelle est la meilleure façon pour moi de tester ce scénario?

Merci beaucoup

68
Kevin

Malheureusement, parce que localhost n'est pas un domaine approprié, vous ne pouvez pas y ajouter un sous-domaine comme ça. Vous pouvez, cependant, faites croire à votre ordinateur qu'il possède un domaine spécifique et testez les choses de cette façon. Par exemple, si vous avez un système d'exploitation UNIX, ouvrez (en tant que root) le fichier /etc/hosts et ajoutez une ou plusieurs lignes comme celle-ci:

127.0.0.1    example.com
127.0.0.1    subdomain.example.com

Votre ordinateur traitera désormais les deux example.com et subdomain.example.com comme appartenant à lui-même. Si vous visitez l'un ou l'autre dans votre navigateur Web, ils fonctionneront de la même manière, en principe, que localhost, mais votre serveur Web verra le domaine correct dans son en-tête Host.

104
Matt Patenaude

Je ne suis pas sûr du même comportement sous Windows. Je travaille sur Linux Mint.

Vous pouvez utiliser lvh.me:port en tant que domaine local. Vous pouvez imaginer que votre projet est déployé sur localhost:port sur ce domaine.

Au lieu de sub.localhost:port vous devez utiliser sub.lvh.me:port

UPD

sub.localhost:port fonctionne sur chrome. Firefox ajoute automatiquement www. au début du domaine saisi qui peut causer des problèmes avec les tests de sous-domaines

28
Vassily Vorobyov

Pour les utilisateurs de Windows, basé sur la réponse this et par this commentaire, vous pouvez y parvenir en ajoutant des ports à localhost via les hôtes fichier résidant sur ce chemin:

C:\Windows\System32\drivers\etc\hosts

Et ajoutez-y des lignes comme les suivantes:

127.0.0.1    example.com
127.0.0.1    subdomain.example.com
1
Shimmy