Come gestire una diversa radice Web in esecuzione in IIS su localhost rispetto a server Web (iis7)

0

Ho diversi siti Web che aiuto a gestire. Quando si esegue sul mio computer locale (sotto iis7), i siti Web vengono eseguiti sotto una cartella sul mio computer d: \ WebRoot \ TheWebsiteName e vengono eseguiti come htt: // localhost / TheWebsiteName, ma quando vengono distribuiti vengono eseguiti come link (anche in esecuzione in iis7)

Attualmente sto gestendo il percorso delle risorse del sito web (immagini, javascript, ecc.) tramite codice. Ma mi chiedevo se ci fosse un modo migliore per gestire questo piuttosto che scrivere codice specializzato nel sito web.

Grazie!

    
posta O.D. 15.05.2012 - 19:27
fonte

2 risposte

3

Per ognuno dei siti Web, impostare un nome host in C: \ Windows \ System32 \ drivers \ etc \ hosts come loopback sul computer locale:

127.0.0.1    dev.thewebsitename.com
127.0.0.1    dev.thewebsitename.co.uk
127.0.0.1    dev.anotherwebsitename.com

in questo modo non dovrai eseguire alcuna mappatura speciale per le risorse del tuo sito web. È quindi possibile configurare più siti Web in IIS7 come si farebbe sul proprio server web live che serve solo per gli URL specificati sopra. Tutto quello che devi fare è cambiare l'URL di partenza del tuo progetto web in modo che sia il nuovo indirizzo dev e tutto funzionerà.

Ho sempre quindi configurato i diversi server di test esattamente allo stesso modo, quindi tutto ciò che devi fare è cambiare il sottodominio in link ecc. Se avere un sacco di siti puoi anche creare una pagina con link a tutti i diversi siti e poi avere quel segnalibro.

Inoltre, se hai un CDN per le immagini, puoi aggiungere anche quell'URL come loopback, o semplicemente caricare le immagini durante lo sviluppo. Se li hai a livello locale, la velocità sarà ottima, ma dovrai assicurarti di rimuovere quel loopback durante il test.

Questo ha sempre funzionato come un sogno per me e perché replica i tuoi server live e cose come URL di immagini / script errati verranno visualizzati durante lo sviluppo. Richiede un po 'più di tempo per l'installazione, ma vale la pena e, se lo script tramite PowerShell, non sarà doloroso se devi configurarlo di nuovo o per un altro sviluppatore.

    
risposta data 15.05.2012 - 19:52
fonte
1

Presumendo che le risorse siano locali, non dovresti aver bisogno di alcun codice speciale - usa solo percorsi relativi alle tue risorse e funzionerà in qualsiasi ambiente. IE, usa:

<script src = "scripts/whatever.js"></script>

Non usare qualcosa come:

<script src = "http://mylocalmachinename/scripts/whatever.js"></script>

Se stai facendo qualcosa di simile a CDN con un dominio di immagini separato, avrai bisogno di un codice da qualche parte.

    
risposta data 15.05.2012 - 19:58
fonte

Leggi altre domande sui tag