Domanda

Abbiamo un sito di prova ospitato solo da indirizzo IP. Dobbiamo davvero testare alcune funzionalità che dipendono dal sottodominio che qualcuno sta usando per accedere al sito. Ma ovviamente non possiamo nemmeno USARE sottodomini con un sito solo IP.

Quindi, ho pensato che al posto dei sottodomini, potremmo avere i tester aprire il sito con un URL come questo: http://192.168.0.1/smith o http://192.168.0.1/jones e li reindirizzerei a http://192.168.0.1/default.aspx?site=smith ecc ...

I nostri tester sono al client e chiedere loro di entrare nella stringa di query sarebbe problematico. Inoltre, vorrei davvero avere una rapida introduzione alla riscrittura degli URL.

Qualcuno può darmi qualche idea se ciò che voglio fare è possibile e, in tal caso, un puntatore a un codice o spiegazione o qualcosa del genere?

Stiamo usando asp.net 3.5 e iis6, credo.

Grazie per l'aiuto!

È stato utile?

Soluzione

Ho scritto un'introduzione a URL Rewriting in ASP.NET sul mio blog, per quello che vale. Sentiti libero di postare più domande qui per chiarire eventuali problemi specifici che hai.

Altri suggerimenti

questo funzionerà sicuramente nella tua situazione http://www.urlrewriting.net/149/en/home.html

abbiamo implementato lo stesso che hai richiesto, la sua DLL open source e devi scrivere alcune regole in web.config, secondo il tuo scanario, la tua regola è qualcosa di simile

<add name="index" virtualUrl="^~/(.*)/Default.aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Default.aspx?site=$1&amp;urw=t" ignoreCase="true"/>

potresti eventualmente modificare il file hosts sul computer di prova per indirizzare domini (e sottodomini) a quell'IP, in questo modo non dovresti fare affidamento su DNS e testare come se i domini fossero assegnati.

maggiori informazioni qui:

http://labnol.blogspot.com /2004/10/tweak-your-windows-hosts-file.html

  

fa parte di .Net 3.5 ed è il file   stesso meccanismo utilizzato da MVC

Questo ti semplifica la vita, dato che tutto è contenuto in HttpContext.CurrentContext.Items [" "]

Ho adattato questo codice per alcuni progetti in cui ho un file di configurazione XML. Quindi uso questo file per creare il RouteCollection . Questo codice è stato anche facilmente esteso per gestire reindirizzamenti 301 per SEO.

Questo metodo viene anche caricato una volta nell'AppPool e rimuove la necessità di analizzare i file XML e le configurazioni per ogni chiamata. Questa finora è stata la soluzione migliore per me dal punto di vista delle prestazioni.

Se hai bisogno di assistenza, faccelo sapere. Li darò volentieri una mano.

Modifica: 13/09/09

Non ho ancora riscontrato questo problema poiché di solito gestisco la verifica di appartenenza / autenticazione in ogni pagina. Di solito ho un controllo o un metodo che chiamo sulla pagina per convalidare / autorizzare un utente. I miei clienti usano raramente l'appartenenza ASP.Net, di solito fanno affidamento su sottosistemi proprietari a cui dobbiamo connetterci.

Ho esteso gli esempi forniti nei collegamenti precedenti in modo da poter scrivere una tabella di routing xml che viene caricata all'avvio dell'applicazione o quando forzo un aggiornamento RouteCollection.

finora questo ha dimostrato di funzionare abbastanza bene. ciò può anche consentire una modifica delle rotte mentre l'applicazione è in esecuzione, senza tempi di inattività.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top