Я работаю над сайтом публикации SharePoint 2010.Он заменяет устаревший сайт, созданный с использованием asp.
Поскольку это общедоступный и анонимный сайт, мы реализуем пользовательскую страницу 404.Как ни странно, это не просто OOTB (как обычно), но мне удалось развернуть страницу 404 и связать ее с помощью приемника событий.Отлично, отлично работает.
Итак, при тестировании я попытался ввести несколько случайных страниц, которых не было.Он работал нормально для .htm, .html и .aspx.Затем я попробовал расширение .asp, поскольку именно на этом будут основаны все выдающиеся ссылки на закладки / поисковые системы.Вместо страницы 404 я получил пустую страницу.Я проверил это в Firebug, и файл фактически был возвращен с заголовком 404, но у него нет содержимого.Не хорошо.
Кто-нибудь решил эту проблему?Является ли пользовательский модуль http единственным выходом? ??
Кстати, еще одно странное поведение - если вы используете неизвестное расширение, он будет отображать HTML-код с вашей страницы 404 как текст! Редактировать : Кроме того, если вы вводите папку без расширений, вы получаете такое же поведение.Ух ты, этот странный зверь продолжает меня раздражать.
Спасибо.
Обновление
Похоже, что HttpModule - единственный способ пойти сюда.У меня это работает - если кто-то хотел бы полный код, дайте мне знать.Я бы выложил это здесь, но средство форматирования кода SO исправляет вещи.
Запись web.config выглядит следующим образом:
<add name="PageNotFoundHttpModule" type="ProjectName.PageNotFoundHttpModule, ProjectName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=fb507da11a891ef3" preCondition="integratedMode" />