2010-07-06 2 views
0

У меня есть веб-сайт, который использует web.config. Я пробовал добавить в следующий код:Добавление пользовательских страниц ошибок на сайт

<customErrors mode="On" defaultRedirect="error.htm"> 
      <error statusCode="404" redirect="FileNotFound.htm" /> 
</customErrors> 

Но он не работает. Ошибки все еще появляются. Могу ли я помещать его в неправильное место?

Пример:

<authentication mode="Forms"> 
     <!-- Assign login url to LOGINSTATUS control --> 
      <!-- log user out after 15 minutes of inactivity --> 
      <forms loginUrl="~/Tilton/Login/Login.aspx" timeout="15"/> 
     </authentication> 
    <customErrors mode="On" defaultRedirect="error.htm"> 
     <error statusCode="404" redirect="FileNotFound.htm" /> 
    </customErrors> 

ответ

2

обработчик ошибок ASP.NET работает только для ресурсов, которые бы были обработаны двигателем ASP.NET, если они существуют. Например, ваш обработчик должен работать на nonexist.aspx, но не работает для foo.bar, потому что .bar не сопоставляется с ASP.NET. Это ваша проблема?

+0

После некоторых тестов я вижу, что вы имеете в виду, да. Все, что связано с page.aspx работает еще page.page, не будет. – BioXhazard

+0

Есть ли что-то, что я мог бы сделать, чтобы он обрабатывал все? – BioXhazard

+0

Пользовательская страница ошибок в IIS - это то, что вы хотите, а не ASP.NET. Если вы перейдете в обработчик ISAPI ASP.NET в конфигурации IIS и скажете «проверить файл существует», тогда все отсутствующие файлы перейдут к обработчику IIS, включая те, которые обычно обрабатываются ASP.NET. Если вы не хотите проверять этот флажок, вам понадобятся два 404 обработчика - один в IIS, другой - в web.config. – x0n

0

Вы можете посмотреть, как настроить собственную страницу ошибок 404 в самом IIS. В IIS 7 для каждого веб-сайта есть раздел конфигурации страниц ошибок.

Смежные вопросы