何をしていたのか
最近、私は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」はアクセスの多いサイトの場合、サーバーへの負荷になるらしく推奨されていないらしい。
コメント