Apache httpd mod_include - обрабатывать включение более 400 ответов с пустым

Я хочу, чтобы вы Apache 2.2 httpd to SSI включали URL-адреса, используя

<!--#include virtual="/content/foo.html" -->

Моя проблема заключается в том, что если включенная страница SSI не существует на моем сервере приложений, она отвечает ответом 404 и HTML-страницей с ошибкой по умолчанию, которая затем вшивается в мою страницу через include. Для неудачных (4xx, 5xx) SSI-включений я просто хочу, чтобы SSI-включение добавило пустую строку на мою страницу.

Не появляется Apache 2.2. поддерживает директиву onerror (которая, я думаю, решит эту проблему) - и я не вижу других вариантов.

http://httpd.apache.org/docs/2.2/mod/mod_include.html


person empire29    schedule 01.05.2014    source источник
comment
Проблема решена путем обнаружения запросов SSI на уровне приложения и возврата пустых ответов при коде состояния 4xx+.   -  person empire29    schedule 10.05.2014


Ответы (1)


Вы могли бы потенциально добавить переписывание для обработки этих частей пространства URI вашего приложения, но я бы не советовал этого делать. Исследуемый подход, по-видимому, не решает основную проблему: концепция SSI зависит от того, что включаемые файлы должны быть постоянно доступны. Если включенные файлы возвращают ошибки класса 4xx или 5xx, вы должны исправить эти ошибки.

person Sasha    schedule 09.05.2014
comment
httpd 2.4 mod_include, похоже, берет на себя часть ответственности за счет введения атрибута onerror; к сожалению, это недоступно в 2.2. - person empire29; 10.05.2014
comment
Я до сих пор не понимаю, почему вы пытаетесь обрабатывать файлы SSI, которых нет на диске. Они выходят за рамки конфигурации веб-сервера для этого приложения? - person Sasha; 13.05.2014