I upgraded recently and had to update my rewrite config. I copied the code from the install page and it did not work. After some troubleshooting I found that the following line seemed to be reversed:
if (-f "$document_root/wp-content/cache/page_enhanced/$http_host/$request_uri/_index.html$w3tc_enc") {
set $w3tc_rewrite 0;
}
It works much better when I changed it to:
if (!-f "$document_root/wp-content/cache/page_enhanced/$http_host/$request_uri/_index.html$w3tc_enc") {
set $w3tc_rewrite 0;
}
It seems that the rewrite should be disabled if the file does _not_ exist.