404 Ошибка пользовательской страницы работает для расширения.cfm, но не для.html?

Я пытаюсь перенаправить неверные страницы на страницу ошибки 404.

    <httpErrors errorMode="Custom">
        <remove statusCode="404"/>
        <error statusCode="404" path="/404.cfm" responseMode="ExecuteURL"/>
</httpErrors>

Это мой код конфигурации web.config.

Он работает для www.abcxyz.com/invalid.cfm, но не для www.abcxyz.com/invalid.html и www.abcxyz.com/invalid/.

Показывает: соединение было сброшено.

2 ответа

Вы используете пользовательские страницы ошибок? "Редактировать параметры функции" в разделе"Страницы ошибок" в IIS для 404 должен иметь "Выполнить URL", указывающий на ваш 404.cfm

Вы можете посетить https://bugbase.adobe.com/index.cfm?event=bug&id=3488063

Несколько вещей для рассмотрения:

Если вы хотите, чтобы CF обрабатывал ошибки, вы выбрасываете 404 и указываете приложение где-то, что является распространенным (на этой "странице" должен быть cfheader с кодом состояния 404, и мы создаем шаблон, который предоставляет содержимое страницы, как объяснение пользователю, что они действительно на странице, которая не существует.

Он устанавливается в админке CF в настройках и является абсолютным путем.

http://helpx.adobe.com/coldfusion/kb/setting-cfml-based-missing-template.html

Затем, чтобы продолжить канал Анит. Вы должны указать своему веб-серверу, как IIS, чтобы ваше приложение работало с 404.

Например, если у вас есть IIS, вам нужно сделать что-то подобное в файле web.config.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
    <httpErrors existingResponse="PassThrough" />
</system.webServer>
</configuration>

И вы можете найти этот ТАКИЙ разговор здесь.

Я надеюсь, что это приведет вас на правильный путь... Удачи.

Другие вопросы по тегам