Tengo una aplicación ASP.NET 3.5 simple que se ejecuta bajo IIS7 bajo un directorio virtual. Entonces, la URL de mi aplicación es como http://example.com/app. Quiero 301-redirigir la solicitud a example.com/app/default.aspx a example.com/app para un mejor SEO. Tengo que hacer esto redirigir solo por código, no por ninguna configuración de IIS. Soy incapaz de hacerlo a través de código mencionado en este artículo:Redirigir default.aspx al directorio virtual raíz
http://www.4guysfromrolla.com/articles/072810-1.aspx
El código:
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);
}
parece ir en un bucle infinito cuando la aplicación está en un directorio virtual. la propiedad request.RawUrl siempre devuelve "/default.aspx" incluso después de una redirección 301 que causa el bucle infinito. ¿Cómo puedo solucionar este problema?
gracias,
Asif
En realidad no puedo hacerlo a través de IIS7, tengo que hacerlo usando el código en sí. – AsifQadri