301 リダイレクト

このブログも長い間やっているのだけど、設定していなかったことがあってびっくりした。 http から https へのリダイレクト設定です。やったつもりになってた。

そもそも 301 リダイレクトって何?

301 リダイレクトとは http ヘッダーに含まれるステータスコードの 1 つで、 URL が恒久的に変更される際に利用する転送処理のことです。 主にドメイン変更やサイト移転、 URL の正規化などの用途で使われます。 

https://www.willgate.co.jp/promonista/301redirect/

要するに、 http にアクセスした人を https に飛ばす設定ですね。基本的なことで本当になんで設定していなかったんだろうと驚いた。これまでは http(s なし ) でアクセスしていた人はそのまま鍵マークがない状態でアクセスできていたんですね。慌てて設定しましたよ。

301 リダイレクトを設定すると旧 URL の SEO 評価を新 URL に引き継ぐことができる 

https://www.creal.co.jp/column/website-design/1856/

SEO に関しては、あんまり真面目にやっていないんですけど、 http によるアクセスと https によるアクセスを合算できるのは大きいです。 Google さんオススメです。

実際のコード

説明を後回しにして実際のコードです。

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
</IfModule>

2 〜 4 行目が http から https へのリダイレクト。 5 行目以下が、 www 付きのアドレスをなしのアドレスにリダイレクトするものです。私もコピペしてるので、詳しく説明しろと言われてもわかりません (^_^;

トラブル発生

意気揚々と設定をセーブしてこの記事を書いていたらおかしな事が判明。実は「 SiteGuard WP Plugin 」というプラグインを使ってセキュリティを高めていたのですが、上記コードの 5 行目、 6 行目の www 付きのアドレスを、なしのアドレスへリダイレクトする設定がバッティングしていたんですね。ログインする際に画像認証をプラグインが加えてくれるのですが、これもリダイレクトの連続で動作しません。

「 SiteGuard WP Plugin 」をインストールしている方は、上記コードの 5 , 6 行目を削除してください。私はコメントアウトしています。ちなみに www 付きのアドレスを、なしのアドレスに転送するのは、このプラグインもやってくれているようで、これまでも転送できていました。 http から https の転送ができていなかったんですね。

まとめ

ということで、トラブルもありましたが、何とか設定完了。私はブラウザで WordPress を開きつつ、 ssh 接続でサーバーにアクセスするという方法で行いました。 ssh 接続なんて許可してるところ少ないかもしれませんね。 Lollipop さんに感謝です。別のウィンドウで作業をしていたので、トラブルの時 ( ログインができなくなった ) にも落ち着いて作業を継続できました。

それにしても、やったとばかり思っていた 301 リダイレクト設定をしていなかったと言うことにびっくりです。他にもまだやってない設定あるかなぁ。チェックしてみます。

なんと!過去にもやっていました

と、 Podcast も公開しまして、ぼんやりサイトを眺めていたら、関連記事に、

こんな記事が出ていました。まさに 301 リダイレクトを設定したよ。という記事です。いつの間にか .htaccess を書き換えていたんでしょうか? 笑った。

投稿者プロフィール

kaizawa
kaizawaブロガー
新潟県在住。1964年生まれ、東京オリンピックの年ですね。
突然燃え上がったり、鎮火したり興味の波が激しいので注意が必要です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


OPINION

前の記事

当然の成り行き
ノン・カテゴリ

次の記事

終活について