Почему NGINX предоставляет другие задокументированные функции SSI, но не LAST_MODIFIED в заголовке?
Потому что nginx все равно не полностью реализовал SSI. Цитирование документы:
В настоящее время список поддерживаемых команд SSI неполный.
Список поддерживаемых команд и переменных SSI см. в исходном коде nginx. здесь.
Редактировать:
Если требуется полная поддержка SSI, попробуйте использовать Apache httpd за nginx.
согласно документам NGIX (sic) (см. ссылку в моем посте)
Вот прямая цитата из ssi_last_modified
документы около 21 июля 2021 г .:
Позволяет сохранить Последнее изменение
поле заголовка из исходного ответа во время обработки SSI для облегчения кэширования ответа.
По умолчанию поле заголовка удаляется, так как содержимое ответа изменяется во время обработки и может содержать динамически генерируемые элементы или части, которые изменяются независимо от исходного ответа.
По умолчанию при ответе на запрос статического файла nginx добавляет Последнее изменение
Заголовок HTTP-ответа.
При использовании SSI nginx намеренно удаляет этот заголовок, потому что nginx генерирует страницу динамично вместо возврата статического файла, поэтому добавление Последнее изменение
заголовок ответа бессмыслен.
ssi_last_modified
директива повторно добавляет Последнее изменение
Заголовок ответа HTTP в соответствии с отметкой времени файла сценария SSI.
Ни в коем случае не сказано, что эта директива добавляет ПОСЛЕДНЕЕ ИЗМЕНЕНИЕ
переменная для SSI nginx.
ПОСЛЕДНЕЕ ИЗМЕНЕНИЕ
надо еще поддерживать
Насколько я знаю, нет ни стандарта, ни RFC, на которые можно было бы положиться для полной реализации SSI. Возможно, документы в mod_include может быть такой стандарт, но опять же, это всего лишь руководство к другому продукту. Дайте мне знать, есть ли такой стандарт, и я исправлю этот ответ.
У вас будет больше шансов решить эту проблему, отправив запрос функции на Trac от nginx.
Тангенс: даже если он поддерживается, если вы добавите ПОСЛЕДНЕЕ ИЗМЕНЕНИЕ
, должно ли его значение быть отметкой времени сценария SSI или отметкой времени сервера; поскольку ответ HTML генерируется «на лету», а не считывается напрямую из файла.
Это для устаревших сайтов, которые я перешел на NGINX из Apache. Некоторые крупные сайты все еще используют SSI, и это полезный упрощенный подход, избегающий PHP и т. д.
Я сомневаюсь, что эти крупные сайты все еще используют SSI за кулисами. На данный момент SSI является устаревшей структурой с множеством доступных альтернатив.