FastCGI returning "No Input File" instead of 404

Edho P Arief edhoprima at gmail.com
Fri May 22 13:31:08 MSD 2009


2009/5/22 Igor Sysoev <is at rambler-co.ru>:
> On Fri, May 22, 2009 at 08:23:36AM +0700, Edho P Arief wrote:
>
>> 2009/5/22 Igor Sysoev <is at rambler-co.ru>:
>> > On Thu, May 21, 2009 at 12:25:09PM -0400, APseudoUtopia wrote:
>> >
>> >> Hey everyone,
>> >>
>> >> This seems like it would be easily solved, but I'm not sure how. I
>> >> just finished setting up PHP on my system. It runs fine. However, when
>> >> I browse to a page like
>> >> "http://domain.com/this-php-script-does-not-exist.php" it returns "No
>> >> input file specified" instead of a normal nginx 404 error. I'm trying
>> >> to get it to display a normal 404 error instead. I've tried toggling
>> >> the fastcgi_intercept_errors, which seems like it would fix the
>> >> problem, however it didn't work.
>> >>
>> >> I'm running nginx stable, 0.6.37.
>> >>
>> >> It seems that try_files would work somehow, but my understanding is
>> >> that try_files does not exist in 0.6.37?
>> >
>> > try_files exists in 0.6.36+.
>> > You may try this also:
>> >
>> >  location ~ .*\.php$ {
>> >        try_files  $uri  /404.html;
>> >
>> >        fastcgi_pass 127.0.0.1:9000;
>> >        ...
>> >
>>
>> thanks. is there a way to return default 404?
>
> Why do you want to return default 404 at all ? The default error
> pages are last resort and should be customized on a good site.
>
>> Or is this the correct way?
>
> You may use "if" or example below:
>
>> location ~ \.php${
>> try_files  $uri @404;
>> ...
>> }
>> ...
>> location @404 { return 404; break; }
>
> You do not need "break" after "return", because "return" breaks execution
> by itself.
>

I suspected it isn't needed.
The reason would be to use whatever error_page that's located in
server block so I only need to specify it once. (it works, right?)


-- 
O< ascii ribbon campaign - stop html mail - www.asciiribbon.org





More information about the nginx mailing list