ПРОЕКТЫ 


  АРХИВ 


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]

SSI обработка ошибок подзап росов


  • To: nginx-ru@xxxxxxxxx
  • Subject: SSI обработка ошибок подзап росов
  • From: "rimeko" <nginx-forum@xxxxxxxx>
  • Date: Mon, 25 Jul 2011 23:49:26 -0400
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mickey.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=Dob6AlkGTxfAuePe57TiB7tnn8/K7fD/Ob6we6fH9ts=; b=YCoMcIUQZuRgEHp4pd6Hq5y4ypP54bjgaMKAHjthQVO7yv1rltGZN4Pze0Dmh7+m8THAlhCY6OQzeYisL6C1+kDhWnL9rF/bjQWm3SG61UaQXYeBk7TJk9wvv7/V4LZ1;

Здравствуйте.

Как сделать, чтобы ssi выдавал ошибку 404
на весь запрос, когда бакенд возвратил
404 на подзапрос?
Сейчас соответствующий блок просто не
выводится.

Теперь подробности.

Сделано так:

ssi_types text/xml;
location /ssi/ {
fastcgi_pass unix:/var/run/fcgiperl/fcgiperl.sock;
include fastcgi_params;
fastcgi_cache off;
}
location ~ ^(.*)/index\.xtpl$ {
types { text/xml xtpl; }
ssi on;
}

Проверяю:

$ wget http://localhost/ssi/err
Распознаётся localhost... 127.0.0.1
Устанавливается соединение с
localhost|127.0.0.1|:80... соединение установлено.
Запрос HTTP послан, ожидается ответ... 404 Not
Found
2011-07-24 14:19:55 ОШИБКА 404: Not Found.

В логе:
127.0.0.1 - - [skip] "GET /ssi/err HTTP/1.0" 404 103 "-" "Wget/1.12
(linux-gnu)" "-"

Не вдаваясь в подробности, бакенд
просто возвращает на любой запрос:
Status: 404 Not Found

Делаю темплейт /index.xtpl

<?xml version="1.0" encoding="UTF-8"?>
<page file="<!--# echo var="request_filename" -->">
<uri><!--# echo var="uri" --></uri>
<request_uri><!--# echo var="request_uri" --></request_uri>
<!--# include virtual="/ssi/err" -->
</page>

$ wget http://localhost/index.xtpl

Распознаётся localhost... 127.0.0.1
Устанавливается соединение с
localhost|127.0.0.1|:80... соединение установлено.
Запрос HTTP послан, ожидается ответ... 200 OK
Длина: нет информации [text/xml]
Saving to: ?index.xtpl?

Получаю index.xtpl от сервера:

<?xml version="1.0" encoding="UTF-8"?>
<page file="/var/www/localhost/htdocs/index.xtpl">
<uri>/index.xtpl</uri>
<request_uri>/index.xtpl</request_uri>
</page>

А хочу получить ошибку 404.

В логах вижу:
127.0.0.1 - - [skip] "GET /index.xtpl HTTP/1.0" 404 0 "-" "Wget/1.12
(linux-gnu)" "-"
127.0.0.1 - - [skip] "GET /index.xtpl HTTP/1.0" 200 304 "-" "Wget/1.12
(linux-gnu)" "-"

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,212933,212933#msg-212933

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.