.htaccessで301リダイレクトを設定し、サイト全体ごと転送する方法

   2017/09/27

.htaccessに301リダイレクトを追記する

ご利用のサーバーのFTP画面にアクセスして下さい。
WordPressをお使いの場合、ルートディレクトリに.htaccessファイルがあるはずなので、それを開きます。

※注意点
ルートディレクトリ(./)の下にWordPress用のフォルダを作って、そこにWordPressを入れている場合は、ルートディレクトリの方の.htaccessを変更して下さい。

.htaccessを開くと、下記のようなコードが書かれていると思います。

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

これの先頭に、以下のコードを追記して下さい。

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

具体的には、このような感じです。

# BEGIN WordPress

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

設定が済んだら、自サイトをhttp://~からアクセスしてみて、実際にhttps://~へ転送されるかどうか確認して下さい。
トップページだけでなく、各コンテンツのページも確認しておくのをオススメします。

うまく転送されない場合の確認事項

もしページがうまく転送されなかったら、以下の点を確認してみて下さい。

属性(パーミッション)は正しいか?

レンタルサーバーによって変わりますが、正しいパーミッションは604644です。
それでうまくいかなかったら、一度、パーミッションを変えて試してみて下さい。

文字コードが正しい形式で保存されているか?

.htaccessの文字コードを「UTF-8」にして保存すると、うまく動かない場合があるようです。
その形式が指定されていたら、「SHIFT-JIS」「ASCII」に変更してみて下さい。

ただし、さくらのレンタルサーバーのように「EUC-JP」で動作するサーバーもあります。
詳細はお使いのレンタルサーバーのマニュアルをご参照下さい。

コードのコピペミスをしていないか?

コピペの際に必要な文字が足りていなかったり、余分な文字までコピーしてしまった可能性もあります。
もう一度、貼り付けたコードを確認してみて下さい。

.htaccessの最後は空白になっているか?

.htaccess内の最終行に不要なコードが入っていると、正常に動作しません。
必ず最後は空行にしましょう。


※301リダイレクトの設定方法は、こちらのサイトを参考にさせて頂きました。
https://shiritai.net/ssl_redirect/

スポンサーリンク

この記事を共有する

  • このエントリーをはてなブックマークに追加
  • Pocket

関連記事 - こちらもオススメ!