WordPress の Plugin “Nginx-Helper” が 2.0 に更新されたのでまた手動で修正をした

WordPress
この記事は約5分で読めます。
この記事は最終更新日より 1 年以上経過しています。
画像やリンクが無効になっている可能性もあるのでご了承下さい。

 当ブログのは Nginx で FastCGI Cache を利用して高速化を図っている為、キャッシュ制御に Nginx-Helper の様なプラグインは必須になる。
 Feed URL はうちの場合 https://bucci.bp7.org/feed となっており、末尾に “/” が無いタイプ。WordPress では一般的に “feed/” で終わるアドレスになるらしいが、なんでこうなったかは今となっては憶えても無いし、新規にインストールしてみてもやはり末尾に “/” は無い。
 そんなこんなでキャッシュパージ用プラグインが更新される度に手動でスクリプトを修正している。

 Nginx-Helper が 2.0 になることで 1.x までとは修正するファイルが変更されていたので、該当するファイルを見つけて次の様に修正した。

% diff -u ~/backup/class-fastcgi-purger.php ~/public_html/wp-content/plugins/nginx-helper/admin/class-fas
tcgi-purger.php
--- /home/hoge/backup/class-fastcgi-purger.php 2018-11-19 17:49:23.102817360 +0900
+++ /home/hoge/public_html/wp-content/plugins/nginx-helper/admin/class-fastcgi-purger.php      2018-11-19 17:42:46.562757460 +0900
@@ -50,10 +50,10 @@
 
                                if ( $feed ) {
 
-                                       $feed_url = rtrim( $_url_purge_base, '/' ) . '/feed/';
+                                       $feed_url = rtrim( $_url_purge_base, '/' ) . '/feed';
                                        $this->delete_cache_file_for( $feed_url );
-                                       $this->delete_cache_file_for( $feed_url . 'atom/' );
-                                       $this->delete_cache_file_for( $feed_url . 'rdf/' );
+                                       $this->delete_cache_file_for( $feed_url . '/atom' );
+                                       $this->delete_cache_file_for( $feed_url . '/rdf' );
 
                                }
                                break;
@@ -72,10 +72,10 @@
 
                                if ( $feed ) {
 
-                                       $feed_url = rtrim( $_url_purge_base, '/' ) . '/feed/';
+                                       $feed_url = rtrim( $_url_purge_base, '/' ) . '/feed';
                                        $this->do_remote_get( $feed_url );
-                                       $this->do_remote_get( $feed_url . 'atom/' );
-                                       $this->do_remote_get( $feed_url . 'rdf/' );
+                                       $this->do_remote_get( $feed_url . '/atom' );
+                                       $this->do_remote_get( $feed_url . '/rdf' );
 
                                }
                                break;

 $feed_url の内容にあるアドレス末尾から “/” を削除しているので、atom や rdf と繋げて URL を組み立てる際に feedatom なんて感じに文字列が繋がってしまうので、atom と rdf には頭に “/” を付けておく。

 この書き換えでキャッシュをパージするときにアクセスするアドレスが当ブログで使用しているアドレスと一致するようになったので解決と。

著者プロフィール
ぶっち

本格的に PC へ触れ始めてたのは 1990 年位から。
興味は PC 全般。OS は Windows と Linux などを嗜む。
プログラマやネットワークエンジニアを経てフリーに活動している 40 代も後半に入ったおじさんです。

ぶっちをフォローする

コメント

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.