Пользовательская страница 404 перенаправляет, но не показывает пользовательскую страницу - PullRequest
0 голосов
/ 24 апреля 2019

Я попытался настроить пользовательскую страницу 404, и она перенаправляет на этот URL.Тем не менее, он не показывает страницу, она должна быть. IIS 6

Итак, у меня есть настройка web.config И я возвращаю код 404 на странице NotFound.aspx.

Web.config

<customErrors mode="RemoteOnly" defaultRedirect="~/error/Default.aspx">
  <error statusCode="404" redirect="~/error/NotFound.aspx" />
</customErrors>

NotFound.aspx.cs

public partial class error_NotFound : Custom.PageBase
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.StatusCode = 404; 
    }    
}

Здесь вы можете видеть, что это:

https://www.mshsaa.org/notapage.aspx

... перенаправляет на это:

https://www.mshsaa.org/error/NotFound.aspx?aspxerrorpath=/notapage.aspx

ПРИМЕЧАНИЕ Это, кажется, работает правильно на моемлокальный компьютер, но не в режиме реального времени.

NOTE2 Я вижу, что есть также настройка IIS для ошибки 404, которая перенаправляет.

Итак, что я делаю неправильно

1 Ответ

0 голосов
/ 24 апреля 2019

Это рабочий код с моего производственного сервера.

web.config

<customErrors mode="On" defaultRedirect="/404.aspx" redirectMode="ResponseRewrite">
  <error statusCode="500" redirect="/500.aspx" />
</customErrors>

404.aspx.cs

public partial class error_NotFound : Custom.PageBase
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Exception ex = Server.GetLastError();
        //do something with the exception
        Server.ClearError();
        Response.StatusCode = 404; 
    }    
}
...