Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: SSI stub подставляется даже если include вернул ответ со статусом 200
Hello!
On Fri, Feb 07, 2014 at 09:33:02AM +0600, Туманов Александр wrote:
> 06.02.2014 19:33, Maxim Dounin пишет:
> >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 метод обработки ошибок.
> >
> Но ведь когда запрашиваем include.html, мы видим:
> lynx -head -dump http://localhost/ssi_stub_memcahed/include.html
>
> HTTP/1.1 200 OK
> Server: nginx/1.2.4
> Date: Fri, 07 Feb 2014 03:30:56 GMT
> Content-Type: text/html
> Connection: close
>
> Т.е, наверное, проблема где-то в подзапросах.
То, что мы видим - мы видим потому, что так с помощью error_page
была обработана возникшая ошибка. Как я уже написал выше, stub -
возможную будущую обработку с помощью error_page не учитывает, он -
альтернатива обработке ошибок с помощью error_page.
--
Maxim Dounin
http://nginx.org/
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|