ПРОЕКТЫ 


  АРХИВ 


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]

nginx->fast-cgi->php->bitrix -- как верн уть 404 из php , с ЧПУ тоже на 404


  • To: nginx-ru@xxxxxxxxx
  • Subject: nginx->fast-cgi->php->bitrix -- как верн уть 404 из php , с ЧПУ тоже на 404
  • From: Roman <raduga@xxxxxxxxxx>
  • Date: Sat, 12 Feb 2011 23:26:08 +0200
  • Dkim-signature: v=1; a=rsa-sha256; c=simple; d=lan.com.ua; s=MDaemon; t=1297546226; x=1298151026; q=dns/txt; h=DomainKey-Signature: Received:Date:From:Reply-To:Message-ID: Disposition-Notification-To:Return-Receipt-To:To:Subject: MIME-Version:Content-Type:Content-Transfer-Encoding; bh=drs9reIr RLzjMqdD36IAtRqJTyqOv31O9LLYIDJ5MfQ=; b=FGUE3jvfq4e4T1o5MDhKzZt0 ghFA4LBUpXD1SALIbGSjTryaS1HVaXBzX+gIPWk8rhJoAZe69C0m4qrntjeDmGVz nI0ne4Syohnh79i3n8p3u2m5ZNwlfcpoIt0O/3N8ZCBK0a4/K/u/c8X6VUsmIpVy OGIyTChsp8h1PID/vbs=
  • Domainkey-signature: a=rsa-sha1; s=MDaemon; d=lan.com.ua; c=simple; q=dns; h=from:message-id; b=5aAZdgu5tgNvy0dvlQKi4YnCg2Kf1Q8sgD82GPj19Uvgvm1mnG0ihhn5BTlq jMoAgQ+NCgJU+c2XYJhkPmdE4a7O+YAOnloAhZp0YF/ahfjXWVr6my7Tq u80K/cIANWSdYs66AdL4IvMtNWRgDIBf+YVUIAvmcpIo/1WP5Yxdgo=;

Здравствуйте, Nginx-ru.

nginx/0.8.54
php 5.3.5 FPM/FastCGI

Друзья, никак немогу понять как передавать из скрипта php статус 404,
при ЧПУ сделаном тоже на 404.




Сайт работает на Битрикс.

ЧПУ сделано через /404.php

URL бывают
- прямой вызов скрипта php              (/path/script.php)
- c ЧПУ, редирект на реальный скрипт
- если заканчивается на /path/          - вызов /path/index.php

с приведенным конфигом все работает нормально,
кроме ситуации, когда URL с ЧПУ указывает на
несуществующий путь, о чем известно только со стороны php

например:
url  /news/102
рерайтится в /news.php?id=102

и эта статья удалена. Без fast-cgi все работало - правильно.
открывался /404.php и возвращался HTTP request status: 404
а сейчас - открывался /404.php  но статус - всегда 200


Да, в php:
cgi.rfc2616_headers = 1;
cgi.nph = 0;



конфиг:

        location / {


                index   index.php;

                error_page      404 = @bitrix;
                error_page      502 /502.htm;



                fastcgi_pass    unix:/tmp/php-fpm.sock;
                fastcgi_index   index.php;
                fastcgi_param  SCRIPT_FILENAME 
$document_root$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_intercept_errors on;
                #recursive_error_pages          on;
                #fastcgi_pass_header    Status;
                break;

        }



        location @bitrix {

                fastcgi_pass   unix:/tmp/php-fpm.sock;

                fastcgi_index  index.php;

                fastcgi_param  SCRIPT_FILENAME $document_root/404.php;

                include fastcgi_params;

                fastcgi_intercept_errors off;

                fastcgi_pass_header     Status;
                #recursive_error_pages  on;

                break;

        }






-- 
С уважением,
 Roman                          mailto:raduga@xxxxxxxxxx



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


 




Copyright © Lexa Software, 1996-2009.