インターネット
 Computer >> コンピューター >  >> ネットワーキング >> インターネット

WordPress 5.4とFirefoxで全ページに表示されるhtaccess認証プロンプト問題の原因と対処法

雨が降れば土砂降り、という状況です。数週間前、書籍専門のウェブサイトで発見したWordPressのcURLエラー28に関する記事を公開しました。この問題は、wp-adminディレクトリに.htaccessファイルを設置していることが原因と考えられます。WordPress 5.4へアップデートするまでは特に問題なかったのに、今ではトラブルの元になっています。とはいえ原因が分かっているため、ひとまず無視することは可能です。

しかし、.htaccessを維持し続けることには副作用があります。ウェブサイトのすべてのページで認証プロンプトが表示されてしまうのです。本来なら、制限されたページへアクセスしようとしたときにだけ出てくるはずのプロンプトです。しかも、この現象はFirefox限定のようです。「自分だけの特殊な問題では?」と疑いつつ調べてみたところ、WordPress公式サイトのサポートフォーラムに、ほぼ同じ現象について議論しているトピックを見つけました。そこでさらなる調査を行い、原因を突き止めることにしました。

問題の詳細

説明することはそれほど多くありません。Firefoxでサイトを閲覧する一般の訪問者に対して、自分とは何の関係もない認証ウィンドウが表示されてしまうのです。これは不快感を与え、集中を妨げ、そもそも不要なものです。したがって、.htaccessファイルを削除せずにこの問題を解決する方法が必要になります。ファイルを削除するのも一つの手ですが、それでは.htaccessを設置する当初の目的に反してしまいます。

解決策(というより、またしても回避策)

高度なテクニックは私の得意分野ではありませんが、今回はそうした知識が必要でした。WordPressがなぜ必要のない場面で認証プロンプトを表示するのかを解明するべく、しばらく文献を読み漁りました。その中で目に留まったのが、「WordPress 5.4 まずこれを読め」という公式マスターリストです。そこで.htaccess関連の記述を探したところ、次のような言及を見つけました。

パーマリンク設定を保存し直してください。Softaculousなどのサードパーティ製インストーラーによって作成されたサイトでは、.htaccessファイル内のルールが多少不正確なケースがいくつか確認されています。これらのルールは以前のバージョンでは問題になりませんでしたが、新しいバージョンではREST APIが壊れる原因となる可能性があります。WordPressの「設定」→「パーマリンク設定」ページでパーマリンクを再保存すると、.htaccessファイル内のルールが修正され、新エディターでの「失敗」エラーも解消されることがあります。

注目すべきは「新エディター」という部分ですが、私は実際には使用していません。それでも、以前調査したcURLエラー28の問題とも関連していそうです。そこで、これが効果をもたらすのか試してみることにしました。「旧」.htaccessファイルと新しく生成されたファイルを比較し、特にWordPressが自動生成する部分を確認したところ、いくつか細かい変更が見られました。

結果として、.htaccess起因の認証プロンプト問題は確かに解決しました。ただし、cURLエラー28は、.htaccessファイルを使い続ける限り依然として残っています。これらすべての状況から、WordPress 5.4にはかなりバグっぽい部分があり、さらにFirefoxで異なる挙動を引き起こす何かが潜んでいるのだと考えられます。

代替解決策:ファビコンの設定

前回の記事について、ある読者から連絡を受けました。何度かやり取りするうちに「この問題はFirefoxでのみ発生する」という点をお伝えしたところ、その読者が追加のテストを行い、問題の原因はサイトアイコン(ファビコン)が未設定であることにある可能性が高いと突き止めてくれました。ファビコンが存在しない場合、ブラウザは管理ディレクトリ内からデフォルトのアイコンを読み込もうとし、それがFirefoxで認証プロンプトを引き起こすのです。同じ症状でお困りの方は、ぜひファビコンを設定して改善するかどうか試してみてください。

WordPress 5.4とFirefoxで全ページに表示されるhtaccess認証プロンプト問題の原因と対処法

まとめ

正直に言えば、こうした種類の記事を書かなければならないのは心苦しいです。なぜなら、皆さんの悩みを半分しか解決できていないからです。問題を明らかにし(しかも奇妙な問題ばかり)、回避策を提示してはいるものの、根本のコードにまだバグが残っている以上、安心材料にはなりません。「悪いエラー」を偶然のように消し去ることができても、それは信頼につながりません。結局のところ、WordPress 5.4の動作原理に行き着く話であり、認証の処理方法に根本的な変化があるようです。

さらに、なぜこの問題がFirefoxでのみ顕在化するのかについて、決定的な説明は持ち合わせていません。今後も検証を重ねますが、現時点でお伝えできる最善の情報は、上記の回避策と前回の記事で共有した内容にとどまります。それでは、また。何かご意見や体験談があれば、ぜひコメントでお聞かせください。

ご清覧ありがとうございました。

  1. Firefox 4 vs Internet Explorer 9 徹底比較レビュー

    さあ、覚悟してください!こんな対決記事を書くことになるとは思いもしませんでしたが、いざ始めましょう。あらゆるサプライズは起こりうるものです。Microsoftが一流の高性能ブラウザを届けてくることも、その一つです。社内での厳しい指導と減給が効いたのでしょうか。さて数日前、Firefox 4ベータの詳細なプレビューが公開され、その翌日にはInternet Explorer 9ベータが登場しました。どちらも非常に期待できる製品です。Firefox 4は長い歴史を持つ優れたブラウザの系譜を受け継ぎ、従来の精神を保ちながらさらに進化を遂げています。一方、Internet Explorer 9は革命です

  2. Firefox 3.1 Beta 3のメモリ使用量を徹底検証 ― LinuxとWindowsでの実測レポート

    先日、Firefox 3.1 Beta 3をレビューしました。JavaScriptパフォーマンスの大幅な向上、使い勝手とプライバシーに関する新機能、将来のHTMLマルチメディア要素への対応など、非常に魅力的なリリースです。ところが、あの記事ではメモリ使用量については一切触れていませんでした。 それには、ちゃんとした理由があります。 アプリケーションのメモリ使用量を正確に測定するのは、実は非常に難しい作業です。せいぜい得られるのは「推測」や「目安」程度で、しかも主観的かつ限られた要因に基づくもので、ほとんど役に立たないことも珍しくありません。多くの人は、タスクマネージャー、Process Exp