2

我有一个奇怪的问题,我在 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>
4

0 回答 0