WP Super Cache won’t cache pages other than home page

In WP Super Cache’s configuration tab “Advance”, it shows:

And by default (at least for my configuration) WordPress sets Permalink as /index.php/%year%/%monthnum%/%day%/%postname%/. Hence all the posts are “rejected” according to the rule above. Logs confirm this:

It’s possible but not recommended to remove index.php from the reject list for SEO purpose. So I changed Permalink and got a … 404.

For Permalink without index.php to function properly in nginx, It’s necessary to change nginx’s configuration, by adding the following to server section:

After fixing the Permalinks, the pages are cached properly, and can be confirmed by the comments in pages’ source:

Leave a Reply

Your email address will not be published. Required fields are marked *