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