Problem with try files: =404 results in php files being downloaded instead of parsed by php

Maxim Dounin mdounin at
Mon Jun 25 10:21:45 UTC 2012


On Sun, Jun 24, 2012 at 06:24:01PM -0400, Xaymar wrote:

> Hello,
> I tried changing my template configuration so that it would show "404
> not found" instead of "No input file specified." but to my surprise,
> try_files did something completely unpredictable and now I'm stuck with
> "No input file specified.". To be exact I tried changin this:
> > try_files "$uri" "$uri/" "/index.php";
> into this:
> > try_files "$uri" "$uri/" "/index.php" =404;
> which then resulted in nginx sending the php file as
> application-octet-stream, instead of parsing it through the fastcgi
> handler.

You've asked nginx to return /index.php as static if $uri isn't 
found, and it does so.  No surprise here.

> How do I do the above right, if not with the try_files syntax?

Add "try_files $uri =404;" to your "location ~ \.php" instead.


Maxim Dounin

More information about the nginx mailing list