我有一个简单的ASP.NET 3.5应用程序在IIS7下运行在虚拟目录下.所以我的应用程序的URL就像
http://example.com/app.我想要301重定向请求到example.com/app/default.aspx到example.com/app更好的SEO.我必须通过代码执行此重定向,而不是通过任何IIS设置.我无法通过本文中提到的代码:
http://www.4guysfromrolla.com/articles/072810-1.aspx
代码:
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); }
当应用程序处于虚拟目录下时,似乎进入无限循环. request.RawUrl属性始终返回“/default.aspx”,即使在导致无限循环的301重定向之后.如何解决这个问题?
谢谢,
阿西夫