我需要对某些页面进行 301 重定向,并在 application_beginRequest() 的 global.asax 中添加了代码。它在我的本地机器上运行良好。当我在实时服务器上更新站点的 dll 时,它不起作用。有任何想法吗?会不会是 IIS 服务器配置?
我在本地使用 VS2012 和 Asp.Net Webforms 3.5 Framework。
protected void Application_BeginRequest(object sender, EventArgs e)
{
string path = HttpContext.Current.Request.Url.AbsolutePath;
if (path.EndsWith(".xml") || !path.Contains("."))
{
RedirectOldPages(path);
}
}
private void RedirectOldPages(string path)
{
//PagesToBeRedirected is a static class with a dictionary in it
if (PagesToBeRedirected.RedirectPages.ContainsKey(path))
{
//301 Permanent Redirect Page
Response.Redirect(PagesToBeRedirected.RedirectPages[path], false);
Response.StatusCode = (int)HttpStatusCode.MovedPermanently;
CompleteRequest();
}
}