从请求中删除default.aspx

发布于 2024-09-03 16:22:15 字数 664 浏览 4 评论 0原文

我正在尝试从任何可能包含 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...**

我可以更改什么才能使其正常工作?

谢谢

i am trying to remove default.aspx from any request that might have it.

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);
            }

        }

gives an error:

**too many redirects occurred trying to open...**

what can i change to make it work?

thnx

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

清晰传感 2024-09-10 16:22:15

k明白了。

而不是使用:

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

我尝试了:

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

并且有效!与你们所说的一起:)

k got it.

instead of using:

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

i tried:

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

and that WORKS! together with what you guys said :)

从﹋此江山别 2024-09-10 16:22:15

我认为,如果您将重定向放在 if 中,则不必处理无限重定向。

I think that if you put the redirect inside the if you don't have to deal with infinite redirects.

ˇ宁静的妩媚 2024-09-10 16:22:15

你无休止地重定向。

每次执行以下行时,都会再次触发 Application_BeginRequest 事件。

context.Response.Redirect(url);

将重定向放入 if 语句中,如下所示。

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

You are endlessly redirecting.

Each time the following line executes the Application_BeginRequest event is fired again.

context.Response.Redirect(url);

Put the redirect inside the if statement like this.

if (url.EndsWith("/default.aspx", StringComparison.OrdinalIgnoreCase))
{
    url = url.Substring(0, url.Length - 12);
    context.Response.Redirect(url);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文