Setting expires header results in 404 ?

Maxim Dounin mdounin at mdounin.ru
Sat Apr 3 02:58:48 MSD 2010


Hello!

On Fri, Apr 02, 2010 at 06:45:25PM -0400, RoastedPeanut wrote:

> location ~* \.(ico|css|js|gif|jpg|png)$ {
> 			expires 7d;
> 		}
> If I add this to my server conf it will cause all those requests 
> to fail with a 404..I'm feeling silly for missing this, and I 
> know it's probably very easy to fix...but how? :)

Most likely you have something like this:

    root /path/to/nowhere;

    location / {
        root /path/to/root;
    }

Adding

    location ~* \.(ico|css|js|gif|jpg|png)$ {
        expires 7d;
    }

results in these files being searched in nowhere.   The reason is 
simple: nginx uses configuration in "location ~* \.(...)$" which 
has no root explicitly set, and therefore root is inherited from 
server/http level (or compiled-in default).

Maxim Dounin



More information about the nginx mailing list