back to notes

Wordpress

location /blog/ { # enable search for precompressed files ending in .gz # nginx needs to be complied using –-with-httpgzipstaticmodule # for this to work, comment out if using nginx from aptitude gzipstatic on;

# if the requested file exists, return it immediately
    if (-f $request_filename) {
            break;
    }

    set $supercache_file '';
    set $supercache_uri $request_uri;

    if ($request_method = POST) {
            set $supercache_uri '';
    }

    # Using pretty permalinks, so bypass the cache for any query string
    if ($query_string) {
            set $supercache_uri '';
    }

    if ($http_cookie ~* "comment_author_|wordpress|wp-postpass_" ) {
            set $supercache_uri '';
    }

# if we haven't bypassed the cache, specify our supercache file
    if ($supercache_uri ~ ^(.+)$) {
            set $supercache_file /blog/wp-content/cache/supercache/$http_host/$1index.html;
    }

# only rewrite to the supercache file if it actually exists
    if (-f $document_root$supercache_file) {
            rewrite ^(.*)$ $supercache_file break;
    }

# all other requests go to Wordpress
    if (!-e $request_filename) {
            rewrite . /blog/index.php last;
    }

}



last updated september 2011