ПРОЕКТЫ 


  АРХИВ 


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 13:59:30 +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=tX62EzdJJSfRQVss2s6LS1fDHO8U7pi8nJGcMdxXb/k=; b=HdcL4rZfmPY6FBzzQRNvQ36cbUnXmliZz4U7lxJ6uwkWxjvO0bgIwAqWQNGIggCTU84FwL2RS1SdtXJkoG76rpmHgR/7jOwYhIYMVbND7CP84TLLGaRmh9Shihp9q+Zw5ZTv/0EAa3W4Q+f5w1zOwN4zLHUjnPs1iTeeoVUOzhY=
  • 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=jkkbWcMKzeg0a8tgKX+Lr3iptdMnEjE5qiQemSiknivGtmvw8Jt/ajH3AVrdLN9bQ9eRzkBLKW0f1FHjMZRleeraRwrC09J5jakpoxdCF9AHwbSd+YkHjS5VsCy6GtEAOGLuusFVkaCWR29iXm//a2TbSLLm+In5AHnpKtl8pi0=
  • In-reply-to: <20080429095644.GC79557@xxxxxxxxxxxxx>
  • References: <4816EC3D.7060000@xxxxxxxxx> <20080429095644.GC79557@xxxxxxxxxxxxx>

Как всё тривиально-то... Спасибо, Игорь.
так я еще и access_log off в последний локейшн допишу.

Igor Sysoev пишет:
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 { }





 




Copyright © Lexa Software, 1996-2009.