C# 从请求中删除default.aspx

C# 从请求中删除default.aspx,c#,asp.net,request,C#,Asp.net,Request,我正在尝试从任何可能有default.aspx的请求中删除它 protected void Application_BeginRequest(object sender, EventArgs e) { HttpContext context = HttpContext.Current; string url = context.Request.Url.ToString(); // remove defaul

我正在尝试从任何可能有default.aspx的请求中删除它

protected void Application_BeginRequest(object sender, EventArgs e)
        {
            HttpContext context = HttpContext.Current;
            string url = context.Request.Url.ToString();

            // remove default.aspx
            if (url.EndsWith("/default.aspx", StringComparison.OrdinalIgnoreCase))
            {
                url = url.Substring(0, url.Length - 12);
                context.Response.Redirect(url);
            }

        }
给出一个错误:

**too many redirects occurred trying to open...**
我能做些什么改变来让它工作


thnx

我认为,如果你把重定向放在一个框架内,如果你不必处理无限重定向。

你就是在无休止地重定向

每次执行以下行时,都会再次触发应用程序_BeginRequest事件

context.Response.Redirect(url);
将重定向放在if语句中,如下所示

if (url.EndsWith("/default.aspx", StringComparison.OrdinalIgnoreCase))
{
    url = url.Substring(0, url.Length - 12);
    context.Response.Redirect(url);
}

k明白了。

而不是使用:

string url = context.Request.Url.ToString();
我试过:

string url = context.Request.RawUrl.ToString();

这就行了加上你们说的:)

可能会添加default.aspx,因为它被列为默认页面。如何避免呢??