htaccess «ломается» после включения аргумента для HTTP 451

Для моей веб-страницы у меня есть документ .htaccess который выглядит так:

 <Files .htaccess> order allow,deny deny from all </Files> ErrorDocument 404 /websites/404/index.php 

Теперь, насколько я понимаю, вы можете включить дополнительный ErrorDocument , просто добавив еще одну строку. Например

 <Files .htaccess> order allow,deny deny from all </Files> ErrorDocument 404 /websites/404/index.php ErrorDocument 503 /websites/maintenance/index.php 

Однако, когда я пытаюсь добавить страницу для HTTP 451, используя следующую строку кода ErrorDocument 451 /websites/451/index.php и я перезагружаю свою страницу, я получаю Server error! Error 500 Server error! Error 500 . Позже я узнал, что это произошло потому, что XAMPP больше не собирал мою папку с файлом .htaccess и ошибка могла быть разрешена только путем удаления ErrorDocument для error 451 . Что вызывает это и как я могу это исправить?


Заметка
Я также обнаружил, что это происходит при error 418: I'm a teapot


редактировать
Просто добавьте немного больше информации о программном обеспечении, которое я использую. я использую

  • Панель управления XAMPP v3.2.2
  • Apache 2.4.17 – это версия, которая поставляется с XAMPP

Несмотря на то, что существует много кодов статуса HTTP (которые официально поддерживаются IANA ), не все веб-серверы поддерживают все эти. Начиная с Apache 2.4, коды статуса 418 и 451 не поддерживаются и молча преобразуются в ошибку 500 с помощью Apache.

Последние дополнения поддерживаемых кодов состояния в Apache 2.4 – 414 и 501 и предотвращение сбоев на 400 (из журнала изменений Apache 2.4 ):

core: Поддержка настраиваемых ErrorDocuments для кодов статуса HTTP 501 и 414. PR 57167 [Эдвард Лу]

core: предотвращение сбоя сервера в случае недопустимого запроса CONNECT с настраиваемой страницей ошибок для кода статуса 400, который использует серверную часть. PR 58929 [Ruediger Pluem]

См. Список поддерживаемых кодов состояния HTTP (с Apache 2.4.4).

См. Более старую ошибку (поданную против 2.2) относительно переназначения пользовательских кодов состояния на 500 ошибок .

См. Предыдущий вопрос относительно аналогичной проблемы (но также и с Apache 2.2).

Из вашей ссылки на Википедию в ней говорится:

Он (451) был одобрен IESG 18 декабря 2015 года. [8] Он был опубликован как RFC 7725 в феврале 2016 года.

Статус 451 может быть достаточно недавним, что Apache (или другие поставщики, на которых полагается mod_rewrite) еще не включили поддержку кода состояния. Есть отчет об ошибке June 2016 с Red Hat Enterprise - httpd-2.4.6-40 например, который выглядит еще открытым: https://bugzilla.redhat.com/show_bug.cgi?id=1343582