wp-adminにBasic認証をかけるとページやブログ閲覧時にBasic認証が表示される謎

wordpressの管理画面にアクセス制限をかけようとして、/wp-adminBasic認証を設定することはよくあるかと思いますが、そうするとなぜかサイトを見ようとするとトップページやブログページでBasic認証が表示されて、IDとパスワードを求められてしまうという問題が発生しました。

最初は「どうせ何かが/wp-admin以下のファイルを参照してるんだろう」くらいの気分でいたのですが、ソースを開いてもwp-admin以下のファイルを参照しておらず。

むむっ?ミステリーですね、これは。

こういう時はサーバーのアクセスログを見るに限る。

案の定「/wp-admin/images/w-logo-blue.png」というファイルを読み込もうとしている。

ところでなにこのw-logo-blue.png

と、思って調べたらお前かー犯人は!!!

どこにでもいる人はいないのと同じ

WordPressのビジュアルモードでurlを書くと勝手にリンクになるあれ(上記のグレーの矩形)です。

Embed機能とかブログカードと呼ばれているらしいですが、そこで表示されるWのワードプレスのロゴマーク、この画像がw-logo-blue.pngでした。

なんでwp-adminの下にいるのよ、あなた。

ブログカードのロゴをアクセス制限解除する

というわけで、.htaccessでw-logo-blue.pngをアクセス制限解除をおこないます。

<Files w-logo-blue.png>
Satisfy any
allow from all
</Files>

.htaccessに上のコードを追記すると、Basic認証の表示はなくなりました。