Nginx Helperで個別記事のキャッシュをパージできない。

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)追記

修正されたみたいです。よかった。

コメントを残す

お手数ですが半角数字で計算結果を入力してください。 *