リダイレクト設定を変更しても反映されずに困った話

ソフトウェア

何をしていたのか

最近、私はBloggerで書いていたブログをレンタルサーバーを借りて移動させた。
その際、せっかくサーバーを借りたので、ブログとして使うWordpress とは別に自分で「HomePage.html」というファイルを作り、それを公開してみた。
公開した後で、ドメインからデフォルトで呼ばれるページは「index.html」であると知り、名前を変更することにした。
折角なのでリダイレクトというものをやってみることにした。

失敗したリダイレクト設定

調べながら下記の「.htaccess」ファイルを作成してサーバーに置いた。
HomePage.htmlにアクセスしようとすると、https://kwgj9.comへ飛ばされるはずだと思って書いた。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^HomePage.html$ https://kwgj9.com$ [L,R=301]
</IfModule>

しかし、保存して旧ページのURLを入力してみるとページが見つからず、新しいページに移動できなかった。
「https://kwgj9.com$」の”$”が余計で、正しくは「https://kwgj9.com」だった。
すぐに変更したが、変更が反映されなかった。
「https://kwgj9.com$」を何に変更しても、「https://kwgj9.com$」へと飛ばされてしまう。
あれこれ試すがどうにもならず。結局1時間ほど格闘していた。

301リダイレクト

今回の失敗点は何も考えずにオプションの「R=301」を使ったことだった。
この設定をすると、ブラウザ側のキャッシュに残る場合があるらしい。
今回は「.htaccess」ファイルで設定した。しかし、他の方法でも301リダイレクトであれば同じ症状になるのではなかろうか。
下記のように301リダイレクトのオプションを消し、ブラウザのキャッシュをクリアした。すると、変更したURLへリダイレクトされた。再度変更しても反映された。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^HomePage.html$ https://kwgj9.com [L]
</IfModule>

まとめ

  • リダイレクト設定をするときはいきなり301リダイレクトの設定をしない。
  • 「.htaccess」はアクセスの多いサイトの場合、サーバーへの負荷になるらしく推奨されていないらしい。

コメント

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