一部のページで 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();
}
}