Ho una semplice applicazione ASP.NET 3.5 in esecuzione su IIS7 in una directory virtuale. Quindi l'URL della mia app è come http://example.com/app. Voglio reindirizzare la richiesta a example.com/app/default.aspx all'indirizzo example.com/app per un migliore SEO. Devo fare questo reindirizzamento solo attraverso il codice, non da eventuali impostazioni di IIS. Sono in grado di farlo tramite codice di cui al presente articolo:Reindirizzamento di default.aspx alla directory virtuale root
http://www.4guysfromrolla.com/articles/072810-1.aspx
Il codice:
if (request.RawUrl.Equals("/default.aspx"))
{
newUrl = string.Format("{0}://{1}{2}",
request.Url.Scheme,
request.Url.Authority,
request.RawUrl.Remove(request.RawUrl.LastIndexOf("/default.aspx", StringComparison.OrdinalIgnoreCase)));
context.Response.Status = "301 moved permanently";
context.Response.AddHeader("Location", newUrl);
}
sembra entrare in un ciclo infinito quando l'applicazione è in una directory virtuale. la proprietà request.RawUrl restituisce sempre "/default.aspx" anche dopo un reindirizzamento 301 che causa il ciclo infinito. Come posso risolvere questo problema?
grazie,
Asif
In realtà non posso farlo tramite IIS7, devo farlo usando il codice stesso. – AsifQadri