Еще одна проблема 404 страницы в IIS 7 - PullRequest
4 голосов
/ 04 марта 2011

У меня есть существующий веб-сайт, который мне нужно перенести на IIS 7. Сайт (который я не хочу переписывать) использует ошибку 404 для обслуживания страниц из базы данных. IOW, такой как http://crimson/pages/myPage вызывает 404, который затем переходит на site404.aspx, который генерирует HTML из базы данных.

В IIS6 я установил обработчик подстановочных знаков, сопоставленный с aspnet_isapi.dll, и сопоставил 404, чтобы он указывал на мой сайт 404.aspx, и все работало просто отлично.

Я сделал то же самое на своем новом сервере разработки с IIS 7 и не могу заставить его работать.

Я использую Classic.net AppPool Обработчик подстановочных знаков выглядит следующим образом

<add name="WildCardHandler" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv2.0,bitness64" />

CustomErrors выглядит так:

<customErrors mode="Off" defaultRedirect="url">
        <error statusCode="403" redirect="NoAccess.htm" />
        <error statusCode="404" redirect="/site404.aspx" />
    </customErrors>

На вкладке страниц ошибок сайта 404 сопоставляется со страницей aspx, а тип устанавливается на Выполнить URL

При всем этом я получаю следующую ошибку:

HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable. Detailed Error InformationModule IIS Web Core 
Notification MapRequestHandler 
Handler StaticFile 
Error Code 0x80070002 
Requested URL http://srvr:80/crimson/articles/index 
Physical Path C:\inetpub\wwwroot\Crimson\articles\index 
Logon Method Anonymous 
Logon User Anonymous 

Спасибо за понимание.

1 Ответ

2 голосов
/ 05 марта 2011

Успех мой!

Существует дополнительный шаг, который необходим, чтобы это заработало.

Просмотр функций> Страницы ошибок> 404> Изменить настройки функций

В открывшемся диалоговом окне «Редактировать настройки страниц ошибок» выберите «Пользовательские страницы ошибок», а затем введите путь к обработчику 404 и задайте тип пути «Выполнить URL»

Обратите внимание, что

Просмотр функций> Страницы ошибок> 404> Редактировать

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

...