我正在尝试从任何可能拥有它的请求中删除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
答案 0 :(得分:3)
k得到了它。
而不是使用:
string url = context.Request.Url.ToString();
我试过了:
string url = context.Request.RawUrl.ToString();
和那个有效!和你们所说的一样:)
答案 1 :(得分:1)
我认为,如果您将重定向放在内部,如果您不必处理无限重定向。
答案 2 :(得分:1)
你无休止地重定向。
每次执行以下行时,都会再次触发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);
}