ПРОЕКТЫ 


  АРХИВ 


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: Принудительный 404 ког да error_page для PHP


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Принудительный 404 ког да error_page для PHP
  • From: Sergey Shepelev <temotor@xxxxxxxxx>
  • Date: Tue, 29 Apr 2008 14:17:28 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:user-agent:mime-version:to:subject:references:in-reply-to:content-type:content-transfer-encoding; bh=Lj/KfZXw9KbbL/8iHBo/vtt/LFNVPvKP2rdDGGghiYQ=; b=Qzn1/D7bitwYjVmiOi2yy51Mn4wkcFf3r+/lxKqRu6hhL/W4HZP2gv/1ZjExrxLFLpPxzlOA8TlQrPyJ/MJGUuOLg+LvGYbRRlTPZBE6oarb5Inqy4+EAiNqnL+VuDf63PyF9L6nDWF3R5YZsjUph08m4/PmKe+hNndjijjGHwE=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject:references:in-reply-to:content-type:content-transfer-encoding; b=ZeBBgaYPtPjn6EXREuriYqoHjKFflf4x98CF9QBzxOGqt0RQ449ZAuns1i5ILpAuEVVuit4ceH72ayOyebHVqNqNVrnE4Zd0dzTL9CK7LTvZ7zOU3oB5qyBBoZgYPSj3VylSil12UWIMnRgzpCa1Eh9AbMGDH8guNpep2kAnQUM=
  • In-reply-to: <20080429100002.GD79557@xxxxxxxxxxxxx>
  • References: <4816EC3D.7060000@xxxxxxxxx> <20080429095644.GC79557@xxxxxxxxxxxxx> <20080429100002.GD79557@xxxxxxxxxxxxx>

Спасибо.

Igor Sysoev пишет:
On Tue, Apr 29, 2008 at 01:56:44PM +0400, Igor Sysoev wrote:

On Tue, Apr 29, 2008 at 01:37:01PM +0400, Sergey Shepelev wrote:

Использую error_page для обработки PHP.

root ...;
error_page 404 = @not_found;
location @not_found {
  rewrite .* /index.php;
}
location ~* ^.[^&?]+\.php$ {
  [fastcgi]
}

, подсказали, что это быстрее, чем if (!-f $request_filename). Супер, теперь, точно зная, что это статика, но её точно нет, например этот самый favicon.ico - как без PHP сразу отдать юзеру 404?

Так?

@not_found {
  rewrite favicon.ico$ $request_uri last;
                                    или break?
  rewrite .* /index.php;
}

или как?
    root ...

    location / {
        error_page 404 = @not_found;
    }

    location @not_found {
        rewrite .* /index.php;
    }

    location ~* ^.[^&?]+\.php$ {
       [fastcgi]
    }

    location = /favicon.ico { }

location @not_found не нужно:

      location / {
          error_page 404 = /index.php;
      }





 




Copyright © Lexa Software, 1996-2009.