I've noticed the same behaviour regarding the missing disk cache info - but only when the cached file has been served which seems to have been created on disk without the info.
Regarding the rewrite rules for NGINX, i came up with the following ones, however please note that they only are partially working (the commented out minifying part didn't really work for me, however i'm unsure if my theme just doesn't really want to be minified or if the rewrite rule(s) are at fault):
#File exists? By all means, send it!
if (-f $request_filename) {
break;
}
set $w3tc_file '';
set $w3tc_uri $request_uri;
#No rewriting for these
if ($request_uri ~* "\/wp-admin\/|\/xmlrpc\.php|\/wp-(app|cron|login|register)\.php|wp-.*\.php|index\.php") {
set $w3tc_uri '';
}
if ($request_uri ~* "wp-comments-popup\.php|wp-links-opml\.php|wp-locations\.php") {
set $w3tc_uri '';
}
#When POSTing, do not rewrite
if ($request_method = POST) {
set $w3tc_uri '';
}
#Bypass cache if there's query string appended
if ($query_string) {
set $w3tc_uri '';
}
#Cookie exists? No rewriting for you!
if ($http_cookie ~* "comment_author_|wp-postpass_|wordpress_\[a-f0-9\]\+|wordpress_logged_in" ) {
set $w3tc_uri '';
}
#Are we requesting a possibly minified CSS/JS?
#if ($request_uri ~* "^.+\.(css|js)$") {
#rewrite ^/wp-content/w3tc/min/([a-z0-9\-_]+)\.(include(-footer)?(-nb)?)\.(css|js)$ /wp-content/w3tc/min/index.php?gg=$1&g=$2&t=$5 last;
#}
#Still in the game? Lets set our destination
if ($w3tc_uri ~ ^(.+)$) {
set $w3tc_file /wp-content/w3tc/pgcache/$1_default_.html;
}
#See if the file we want to request exists, then rewrite
if (-f $document_root$w3tc_file) {
rewrite ^(.*)$ $w3tc_file break;
}
#Everything else may be passed on to WordPress
if (!-e $request_filename) {
rewrite ./index.php last;
}
The parts i'm especially unsure what they're trying to achieve are the last two of the original rewrite rules:
RewriteCond /var/www/belangloserscheissdreck.de/webroot/wp-content/w3tc/pgcache/$1/_default_.html%{ENV:APPEND_EXT} -f
RewriteRule (.*) wp-content/w3tc/pgcache/$1/_default_.html%{ENV:APPEND_EXT} [L]
Maybe Frederick can shed some light into what the {ENV:APPEND_EXT} is trying to achieve.
Also, maybe there's someone more well versed with adapting rewrite rules to NGINX than me that wants to help us out a bit ;)