mi sono imbattuto in questo problema un po 'indietro durante il tentativo di capire perché alcuni IIS installa avrebbe funzionato reindirizzando l'/default.aspx e qualcuno potrebbe degenerare in un anello terminale.
Ho trovato che la risposta era se o meno asp.net era "jolly" mappato per eseguire tutte le richieste all'interno di IIS.
In parole semplici, se si dispone di un'impostazione IIS pronta per l'uso, verrà sempre aggiunto il documento predefinito a qualsiasi richiesta per la radice del sito. Pertanto example.com diventa example.com/default.aspx quando si ispeziona Request.Url in ASP.NET. Pertanto, se rilevi questa situazione e provi a reindirizzare e tornare a example.com, IIS lo fa, aggiunge /default.aspx e il tuo codice viene catturato in un loop di sua creazione.
L'eccezione è se si imposta la mappatura dei caratteri jolly in modo che tutte le richieste vengano elaborate tramite la pipeline asp.net. In questo caso, IIS non aggiunge più il documento predefinito a ogni richiesta a livello Request.Url. E così puoi eseguire il reindirizzamento.
Ho messo tutto in questo post del blog: 301 Redirecting from /default.aspx to the site root - the final word - ma questo è stato scritto diversi anni fa e le modifiche in IIS7 potrebbero aver risolto il problema, come fornisce la risposta attualmente accettata.
Ma se stai combattendo questo problema, allora lo stato di mappatura dei caratteri jolly è il punto giusto da cui partire.
fonte
2011-11-28 01:07:24
Ti suggerisco di pubblicare informazioni sulla tua configurazione – eglasius