我有一个奇怪的问题,我在 Global.asax 文件中的 Application_Error 事件中编写了 403 错误的代码。这段代码的作用是用 .aspx 替换 .asp 扩展名,这里是代码
HttpException serverError = Server.GetLastError() as HttpException;
if (null != serverError)
{
int errorCode = serverError.GetHttpCode();
if (404 == errorCode)
{
Server.ClearError();
Server.Transfer("Error.aspx");
}
if (403 == errorCode)
{
Response.Redirect(Request.Url.ToString().Replace(".asp", ".aspx"));
}
}
它在本地主机上运行良好,但在 IIS 上,当我键入 Default.asp Page 时,它给了我 404 错误。另一个问题是我创建了一个错误页面。但它只显示 .aspx 页面的错误页面。有什么想法吗?
我尝试过的 URL 重写模块是
<rewrite>
<rules>
<rule name="aspToASPNET">
<match url="^(.*).asp$" />
<action type="Rewrite" url="{R:1}.aspx" />
</rule>
</rules>
</rewrite>