Пользовательская ошибка в web.config не работает для 404

#asp.net #iis #iis-7 #iis-8

#asp.net #iis #iis-7 #iis-8

Вопрос:

Я пытаюсь настроить пользовательскую ошибку для своего веб-сайта, которая отлично работает на моем локальном компьютере, но на сервере происходит сбой. Ниже приведен мой код.

 <system.web>
    <customErrors  mode="On" defaultRedirect="~/Pages/Error.aspx">       
      <error statusCode="404" redirect="~/Pages/PageNotFound.aspx"/>      
    </customErrors>
</system.web>

<system.webServer>

    <httpErrors errorMode="Custom" existingResponse="PassThrough"defaultResponseMode="ExecuteURL">
      <remove statusCode="404" subStatusCode="-1" />
      <error statusCode="404" prefixLanguageFilePath="" path="~/Pages/PageNotFound.aspx" responseMode="ExecuteURL"/>
    </httpErrors>

</system.webServer>
  

Я использую IIS 8 на своем локальном сервере и IIS 7 на действующем сервере. Должен ли я каким-либо образом изменить этот код, чтобы он работал?

Кроме того, когда я пытаюсь получить доступ к странице, например: xyz.aspx, она не показывает ничего, кроме белого окна браузера.

Комментарии:

1. сбой означает, что у вас ошибка или? на каком уровне вы добавили этот корневой веб-сайт конфигурации, веб-сайт?

2. нет, я не получаю никаких error..it дайте мне только белый пустой экран… и файл конфигурации находится в корневой папке web

Ответ №1:

Проверьте, есть ли у вас более одной веб-конфигурации, или проверьте, правильно ли ваш файл веб-конфигурации находится внутри вашего проекта.

Комментарии:

1. нет, у меня есть onyy 1 web.config .. и файл конфигурации также .. правильно размещен внутри project…as веб-сайт работает нормально..

2. тогда где находится ваш файл web config.? внутри какой-либо папки или проекта?

3. Используете ли вы структуру MVC?

4. Попробуйте это, если вы используете MVC. <system.web> <customErrors mode=»On» defaultRedirect=»~/site/wwwroot/404.html » /> <отладка компиляции=»true» targetFramework=»4.5″> <сборки>/> </сборки> </компиляция> </system.web>

5. Опция «Только удаленный» покажет ошибку в локальном, она скрывает сообщение об ошибке только для удаленного пользователя. попробуйте файл конфигурации, который предназначен только для локального, и измените версию и целевую платформу в соответствии с вашей версией .Net.