Authorizationヘッダーがありません、とサイトヘルスで表示されたときの原因と直す方法

wordpressトラブル

ワードプレスのサイトヘルスに「Authorizationヘッダーがありません」と表示されていました。

タブを展開すると

Authorization ヘッダーは、このサイトに対して承認されたサードパーティアプリケーションによって使用されます。このヘッダーが無い場合、アプリケーションはサイトに接続できません。

以下の操作を試してもこの警告が引き続き表示される場合は、ホスティングサービスに連絡のうえサポートを受けてください。

パーマリンクをフラッシュする

ワードプレスのダッシュボード→ツール→サイトヘルス→Authorization ヘッダーがありません より

このようなメッセージが表示されます。

メッセージの最後の「パーマリンクをフラッシュする」のリンクをクリックすると、ワードプレスのパーマリンク設定の画面へ行きます。

一度、パーマリンクの保存をしてみましたが、表示は消えませんでした。

「Authorizationヘッダーがありません」と表示されたサイトのサーバーやPHPの環境

まず、「Authorizationヘッダーがありません」と表示されていたワードプレスの環境ですが

  • ワードプレス6.6.2
  • PHPのバージョン 7.4.3 のCGI版
  • Mysqlバージョン5.7.36 ※これも古いデータベースサーバーと指摘されていました
  • 使用サーバー:ヘテムル
  • 使用テーマ:cocoon

上記に挙げた環境が今回の「Authorizationヘッダーがありません」とは無関係かもしれませんが、一応上げておきました。

同じ症状の方の原因をまとめますと

  • PHPがCGI版である
  • .htaccess 内に「RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]」という記載がない

と大体ふたつ。

当方の「.htaccess」には

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}

は入っていたので、おそらくPHPがCGI版なのだと思います。

というのも、以前当ブログでご紹介したことのある「ヘテムルサーバーで最大のファイルアップロード上限を上げる方法」で、PHPのバージョンをモジュール版からCGI版へ一度変更していたのでした。

調べる限り、ロリポップサーバーでPHPがCGI版である、方に多く表示があるようですが、ヘテムルもしかり、です。

身に覚えがあるので、「PHPをCGI版からモジュール版へ変更する」ことから進めます。

なお、エックスサーバーで表示が出ている方は「.htaccessの記述方法」(上記の②)に該当する方が多いのではないかと思いますので、「.htaccess」の記載を確認してみてください。※後述します。

PHPをCGI版からモジュール版へ変更する ヘテムル

PHPのバージョンをCGI版からモジュール版へ変更する
  • ステップ1
    サーバーのコントロールパネルへログインする
  • ステップ2
    サイドバーの「PHP」のメニューをクリックする

  • ステップ3
    該当するサイトのドメインのバージョンを「モジュール版」を選択する

    設定変更後、反映に5~10分ほど時間がかかります。

  • ステップ4
    少し時間をおいて再度「サイトヘルス」をチェックする

    少し時間をおいて再度サイトヘルスステータスをご確認ください。

中には、PHPのバージョンをあえてCGI版にしていた理由のある方もいると思います。
CGI版にしている理由が明確にある場合は、無理にモジュール版に変更する必要はないかな、と思います。一般的にはモジュール版の方がレスポンスが早いといわれていますが、それぞれの理由を加味したうえで切り替えましょう。
もしくは、CGI版とモジュール版を必要なときに切り替えて使い分ける、などが可能の場合は、面倒でもそれぞれの良さの恩恵を受けつつ、サイトを運営するのもいいでしょう。

私の場合は、これで「Authorizationヘッダーがありません」の表示は見事に消えました

.htaccessのヘッダーを変更する方法

.htaccessに

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}

がない場合にも、「Authorizationヘッダーがありません」と表示される場合があります。

FTPソフトなどで、直接「.htaccess」データを直接編集できる人は上記コードが入っているか確認ください。

もし、不慣れな方は、以下を試してみてください。

「.htaccess」データはワードプレスを動かす上で大切なデータですので、改変は慎重に行いましょう。

All in one seoの機能を使って編集する

SEO対策で有名な「All in one seo」には、「.htaccess」の編集機能があります。(※一部表示されないサーバーもあるようです)

プラグインのインストール方法、有効化の方法はここでは割愛しますが、All in one seoをインストールすると、サイドバーにメニューが出ます。

All in one seo→ツールへ進みます。

すると、「.htaccessエディター」タブがあるので切り替えます。

現在の「.htaccess」の内容が表示されるので

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}

の表記があるか確認ください。

ない場合は、追記の上、「変更を保存」ボタンを押し、保存をしてください。

※この場合は「.htaccess」はサイトデータが同ディレクトリに入っている場合のものです。
ワードプレスのアドレスとサイトアドレスが異なる、別ディレクトリにインストールされている場合は、別に「.htaccess」データがある場合があるので、そちらもチェックしてください。

エックスサーバーの場合、サーバーパネルで「.htaccess」を編集する

「Authorizationヘッダーがありません」とサイトヘルスに表示されて、「.htaccess」の編集が必要の方がエックスサーバーを使っている場合が多いようなので、エックスサーバーの方向けに解説をします。

エックスサーバーには、サーバーパネル内に「.htaccess編集」というのがあります。

このリンクをたどることで、管理パネル内で直接「.htaccess」を編集することが可能です。

ただし、これはトップドメインのみです。サブドメインを使っていたり、ディレクトリ型のワードプレスの場合は、エックスサーバーの「ファイルマネージャー」からFTP画面へ進み、各ディレクトリに入っている「.htaccess」を編集するのが良いでしょう。

これで「Authorizationヘッダーがありません」の表示は消えましたか?

現段階で考えられる原因として、ふたつの解決策を出しましたが、これで大体「Authorizationヘッダーがありません」の表示は消えると思います。

ただ、サイトヘルスステータスに記載されている通り、「改善策」であって、それほどリスクが伴うものでもなければ、緊急性を伴うものではない、というのが正直な判断です。

時間があるときにやればいい、くらいに思っていても良いかもしれません。

コメント

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