2013-09-25 13 views
30

Sto scrivendo un'applicazione Web che si comporta in modo diverso a seconda del prefisso dell'URL. Il formato è simile al seguente:Aggiungi sottodominio all'URL localhost

L'app Web si comporta in modo diverso in base a Myprefix. La mia app web estrae quella parte dall'URL e agisce in tal senso.

Tuttavia, quando ho test sul mio locale, io uso un indirizzo localhost:

https://localhost:1234 

ho counldn't fare qualcosa di simile:

https://myprefix.localhost:1234 

Qual è il modo migliore per me di prova questo scenario?

Molte grazie

+0

Ecco la soluzione di questo problema http://stackoverflow.com/a/29629675/2950006 –

risposta

46

Purtroppo, a causa localhost non è un dominio proprio, non è possibile aggiungere un sottodominio di così. È in grado, tuttavia, di indurre il tuo computer a pensare che sia proprietario di un dominio specifico e testare le cose in questo modo. Per esempio, se si dispone di un sistema operativo basato su UNIX, aperto (come root) il file /etc/hosts e aggiungere una riga (o righe) in questo modo:

127.0.0.1 example.com 
127.0.0.1 subdomain.example.com 

Il computer verrà ora trattare sia example.com e subdomain.example.com come appartenente a se stesso. Se visiti entrambi nel tuo browser, funzioneranno allo stesso modo, in linea di principio, come localhost, ma il tuo server web vedrà il dominio corretto nella sua intestazione Host.

+0

Molte grazie per la tua risposta. Questo è esattamente quello che voglio. Tuttavia, la mia app Web viene eseguita su una porta, ad esempio 1234. Ho cercato in giro e la gente ha detto che non c'è modo di specificare un numero di porta in/etc/hosts. Qual è il modo migliore per specificare la porta? – Kevin

+2

Dovrai semplicemente usare la porta nel tuo URL come al solito, ad es., Http: //subdominio.esempio.com: 1234/qualunque'. La porta è completamente separata dal dominio (i domini vengono utilizzati per identificare la macchina, le porte sono utilizzate per identificare il programma sulla macchina con cui comunicare). –

+0

In alternativa, se è possibile eseguire il software come root (per il test), è sufficiente utilizzare la porta 80, che è l'impostazione predefinita, quindi non è necessario specificarne uno. –

13

Non sono sicuro dello stesso comportamento in Windows. Sto lavorando su linux mint.

È possibile utilizzare lvh.me:port come dominio locale. Puoi immaginare che il tuo progetto sia distribuito su localhost:port su questo dominio.

Invece di sub.localhost:port hai utilizzare sub.lvh.me:port

UPD

sub.localhost:port opere a Chrome. Firefox aggiunge automaticamente www. all'inizio del dominio immesso che possono causare problemi con i sottodomini testare