Nginx Helper — WordPress Plugins
FastCGI Cacheを使ってるので、このプラグインを導入しているのですが、個別記事のキャッシュがうまくパージできないのでログを出して原因を調べました。
原因
パージ対象になっている記事のURLの末尾にスラッシュがついている。
このブログは個別記事のパーマリンク設定が/archives/%post_id%なのですが、キャッシュをパージする対象がなぜか/archives/hoge/ になってたせいで、キャッシュが削除できていませんでした。
WordPressかNginx Helper側のバグだと思うのですが、調べる元気が無いので諦めました。
対策
purge.phpのpurgeUrlメソッドに以下を追加して、archivesがURLに含まれる場合は末尾のスラッシュを削除するようにしました。
if(strpos($_url_purge,'archives') !== false){
//URLのなかに'archives'が含まれている場合、スラッシュを削除
$_url_purge = rtrim($_url_purge,"/");
}
なんかファルシがルシしそうですね。
(2016/12/23)追記
バージョン上がりましたがやっぱり改善されないですね。これはバグ原因みつけてPR出したほうがいいかもしれないと思い始めました。
(2017/03/16)追記
修正されたみたいです。よかった。