redirectMode="ResponseRewrite" не работает
У меня есть 404.aspx для управления запросами к несуществующим страницам. Он отлично работает на IIS6, но теперь мне нужно перенести его на IIS7. Сайт использует.net 2.0 classic 32bit AppPool, без MVC.
non-.net запросы как test.com/NotExist
управляются хорошо, но у меня есть проблема с URL, как test.com/NotExist.aspx
Я настроил страницы.net err следующим образом:
<customErrors defaultRedirect="/404.aspx" mode="On">
<error redirect="/404.aspx" statusCode="404" />
</customErrors>
и это работает, но конвертирует URL в test.com/404.aspx?aspxerrorpath=/NotExist.aspx
Я должен избегать этого изменения URL, поэтому я погуглил, я должен изменить строку:
<customErrors defaultRedirect="/404.aspx" mode="On" redirectMode="ResponseRewrite">
Но он показывает сообщение об ошибке по умолчанию вместо результата:
Ошибка сервера в приложении '/' Этот ресурс не может быть найден. Описание: HTTP 404. Ресурс, который вы ищете (или одна из его зависимостей), мог быть удален, изменилось его имя или временно недоступен. Пожалуйста, просмотрите следующий URL и убедитесь, что он написан правильно.
Я проверил https://stackru.com/questions/12463412/responserewrite-redirect-mode-is-not-working и CustomErrors не работает, когда установки redirectMode="ResponseRewrite" и customErrors с redirectMode="ResponseRewrite" не работают на общих хостинг но не везет.
Пожалуйста помоги.
1 ответ
Сопоставления обработчиков -> *.aspx (у меня их четыре, один с именем "PageHandlerFactory-ISAPI-2.0") -> изменить -> Запретить ограничения.
У нас был выключен флажок "вызывать обработчик, только если.....". Теперь он включен и выбрана радиокнопка "Файл".