Re: SSI stub подставляется даже если include вернул ответ со статусом 200
Maxim Dounin
mdounin at mdounin.ru
Thu Feb 6 13:33:58 UTC 2014
Hello!
On Thu, Feb 06, 2014 at 04:15:28PM +0600, Туманов Александр wrote:
> Здавствуйте.
>
> Есть файл /var/local/www/ssi_stub_memcahed/index.htmlс SSI вставками:
>
> <html>
> <body>
> <h1>SSI STUB MEMCACHED</h1>
> <p>Start include with stub</p>
> <!--# block name="one" -->!STUB!<!--# endblock -->
> <!--# include virtual="/ssi_stub_memcahed/include.html" stub="one" -->
> <p>End include with stub</p>
> <hr/>
> <p>Start include without stub</p>
> <!--# include virtual="/ssi_stub_memcahed/include.html" -->
> <p>End include without stub</p>
> </body>
> </html>
[...]
> error_page 404 502 504 = @fallback;
[...]
> Почему подключение со стабом работает так как будто произошла ошибка
> запроса, если этот файл очевидно есть и отдается со статусом 200?
С формальной точки зрения - при обработке запроса к
/ssi_stub_memcahed/include.html происходит ошибка 404, строго как
документировано,
http://nginx.org/ru/docs/http/ngx_http_ssi_module.html#commands:
: stub
: нестандартный параметр, задающий имя блока, содержимое которого
: будет выведено, если тело ответа на включаемый запрос пустое или
: если при исполнении запроса произошла ошибка
Возможные последующие перенаправления по error_page stub не
учитывает. С логической точки зрения, stub - это альтернативный
error_page метод обработки ошибок.
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru