try_files based on file mtime?

stdragon nginx-forum at nginx.us
Sat Jun 12 08:19:16 MSD 2010


Hi all,

I found nginx a little while ago and I've been working on a fast wordpress setup with it. One thing I'm having a problem with is serving cached pages with an expiration.

So I have this (simplified a bit):

        location / {
                # If it's a real static file just serve it, otherwise check the cache
                try_files $uri $uri/ @checksupercache;
        }

        location @checksupercache {
                # First check if user is logged in, etc, but let's assume not, so we want to serve the static cache if it exists
                # This is the point where I would like to check the file's mtime. If it's too old, use @gotoblog even though the file exists.
                try_files /wp-content/cache/supercache/$http_host/$uri/index.html @gotoblog;
        }

How do I implement that last part? Say I want cached pages to last 2 minutes. Something like this would be perfect:
try_files 2m blah/blah/$uri @otherwise;

What's the best way to do this?

If there's not a great way right now, would this be better/easier for me to implement as a patch to try_files or as a separate module with a separate command?

Thanks!

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,97433,97433#msg-97433




More information about the nginx mailing list