File: //usr/local/nginx/conf/wpffpc.conf
# try to get result from memcached
location @memcached {
default_type text/html;
set $memcached_key data-$scheme://$host$request_uri;
set $memcached_request 1;
# exceptions
# avoid cache serve of POST requests
if ($request_method = POST ) {
set $memcached_request 0;
}
# avoid cache serve of wp-admin-like pages, starting with "wp-"
if ( $uri ~ "/wp-" ) {
set $memcached_request 0;
}
if ($http_cookie ~* "comment_author_|wordpressuser_|wp-postpass_|wordpress_logged_in_" ) {
set $memcached_request 0;
}
if ( $memcached_request = 1) {
add_header X-Cache-Engine "WP-FFPC with memcached via nginx";
memcached_pass memcached-servers;
error_page 404 = @rewrites;
}
if ( $memcached_request = 0) {
rewrite ^ /index.php?q=$request_uri last;
}
}
## rewrite rules
location @rewrites {
add_header X-Cache-Engine "";
rewrite ^ /index.php?q=$request_uri last;
}