ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



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@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
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;
         }


 




Copyright © Lexa Software, 1996-2009.