将 HTML 应用程序迁移到 ASP.NET 4.0 时,IIS 7 不会触发 Global.asax 中的应用程序错误
IIS 7 does not fire Application Error in Global.asax while migrating a HTML application to ASP.NET 4.0
我正在将 HTML 站点迁移到 ASP.Net 4.0 网络应用程序。如果有人键入现有 HTML 页面 URL,我想将他们重定向到相应的 ASP 页面。
我已经尝试了以下建议,但没有任何效果。
包含重定向到 web.config 中某些 asp 页面的自定义错误标记 - 无效
enter code here
<customErrors mode="On">
<error statusCode="404" redirect="~/Error.aspx" />
</customErrors>
enter code here
在 Global.asax 页面的 Application_Error 方法下包含以下代码。 - 它不会触发
enter code here
void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
string fullOrginalpath = Request.Url.ToString();
string strPathExtn =
Request.CurrentExecutionFilePathExtension.ToString();
if (fullOrginalpath.Contains(".html"))
{
Server.ClearError();
Response.Clear();
fullOrginalpath = fullOrginalpath.Replace(".html", ".aspx");
Response.Redirect(fullOrginalpath);
}
}
enter code here
尝试在 web.cofig 中添加 httpErrors 标记 - 它抛出 500 个内部错误。
我想你可能想看看 IIS URL 重写模块:
我正在将 HTML 站点迁移到 ASP.Net 4.0 网络应用程序。如果有人键入现有 HTML 页面 URL,我想将他们重定向到相应的 ASP 页面。
我已经尝试了以下建议,但没有任何效果。
包含重定向到 web.config 中某些 asp 页面的自定义错误标记 - 无效
enter code here <customErrors mode="On"> <error statusCode="404" redirect="~/Error.aspx" /> </customErrors> enter code here
在 Global.asax 页面的 Application_Error 方法下包含以下代码。 - 它不会触发
enter code here void Application_Error(object sender, EventArgs e) { // Code that runs when an unhandled error occurs string fullOrginalpath = Request.Url.ToString(); string strPathExtn = Request.CurrentExecutionFilePathExtension.ToString(); if (fullOrginalpath.Contains(".html")) { Server.ClearError(); Response.Clear(); fullOrginalpath = fullOrginalpath.Replace(".html", ".aspx"); Response.Redirect(fullOrginalpath); } } enter code here
尝试在 web.cofig 中添加 httpErrors 标记 - 它抛出 500 个内部错误。
我想你可能想看看 IIS URL 重写模块: