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

スポンサーリンク

 当ブログのは 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 には頭に “/” を付けておく。

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

スポンサーリンク

コメント

タイトルとURLをコピーしました