<!--#if expr="${REQUEST_URI} = /" -->

Igor Sysoev is at rambler-co.ru
Wed May 2 12:04:01 MSD 2007


On Fri, Apr 20, 2007 at 01:20:40AM +0400, alex storm wrote:

> Добрый вечер. Если судить по документации
> http://sysoev.ru/nginx/docs/http/ngx_http_ssi_module.html#variables
> должна отрабатываться конструкция
> 
> <!--#if expr="${REQUEST_URI} = /" -->
> <!--#include virtual="./a.ssi"-->
> <!--#endif -->
> 
> но в логе имеем
> 2007/04/19 23:34:43 [error] 33964#0: *1067 invalid context of SSI 
> command: "endif" while sending response to client, client: 
> 83.167.100.11, server: www, URL: "/", subrequest: 
> "/include/common/menu_bottom.html", host: "www"
> 
> Зато отрабатывает такая конструкция:
> <!--#if expr="${REQUEST_URI} = \/" -->
> <!--#include virtual="./a.ssi"-->
> <!--#endif -->
> 
> Так и должно быть?
> 
> FreeBSD strong 5.3-RELEASE-p5 FreeBSD 5.3-RELEASE-p5 #0: Fri Feb  4 
> 19:19:52 MSK 2005     root at strong:/usr/obj/usr/src/sys/STRONG  i386
> Собран штатно из портов.
> Configuration summary
>  + threads are not used
>  + using system PCRE library
>  + OpenSSL library is not used
>  + md5 library is not used
>  + sha1 library is not used
>  + using system zlib library

Прилагаемый патч должен исправить эту ошибку.


-- 
Игорь Сысоев
http://sysoev.ru
-------------- next part --------------
Index: src/http/modules/ngx_http_ssi_filter_module.c
===================================================================
--- src/http/modules/ngx_http_ssi_filter_module.c	(revision 509)
+++ src/http/modules/ngx_http_ssi_filter_module.c	(working copy)
@@ -2376,7 +2376,7 @@
         p++;
     }
 
-    if (p < last && *p == '/') {
+    if (p < last - 1 && *p == '/') {
         if (*(last - 1) != '/') {
             goto invalid_expression;
         }


More information about the nginx-ru mailing list