WordPress の JetPackプラグイン内にある「タイルギャラリー」について、ちょっと特殊な問題が起こって解決したのでメモっておきます。
制限サイトではギャラリーが表示できない
制限サイトとは、IPアドレス制限やパスワード制限されたサイトのことです。
よく準備中のサイトって一部メンバーのみチェックのために、そういった設定にしていることはありませんか。
どうやらその場合には、タイルギャラリーのギャラリーデータの画像が表示できないようです。このタイルギャラリーは、WordPress.com の CDNを通じて提供されており、画像としては ***.wp.com で生成された画像を表示することになります。制限されたサイトでは、生成された画像が GETできない(400エラー)となります。制限を解除して、キャッシュ系プラグインやシステムがあるなら、キャッシュをクリアすると問題なくでます。
以上から、WordPress.com 側がサイトの画像から直接データを取得してコンバートして CDN として提供しているのじゃないかなーと思います。なので、サイトへのアクセスが制限されていると画像が取得できなくて生成できないのかなぁと。
ただ一度サイトのアクセス制限を解除してタイルギャラリーができあがれば、再度サイトのアクセス制限をしてもギャラリーは残ります。
でも毎回やるの面倒だよ〜
ですね。実際に CDNは、 i0.wp.com とか i1.wp.com とかいくつかあるようで、それらはカバーしてそうです。BASIC認証をしているなら
Nginx
satisfy any;
auth_basic "Hogehoge---";
auth_basic_user_file /hogegegege/.htpasswd;
Apache
Order Deny,Allow
Deny from all
Allow from 192.0.64.0/18;
AutoType Basic
AutoUserFile /hogegege/.htpasswd
require valid-user
Satisfy Any;
のように、Satisfy Any で OR条件にした上で、IPアドレス許可を追加すればいけまーす。
2017年2月14日 @kimipooh