かんろぐ Written by kan

【.htaccess設定方法】301リダイレクト・302リダイレクトの違いと設定方法を解説【初心者向け】

SEO

PR ※当サイトではアフィリエイト広告を利用しています

  • 301リダイレクトと302リダイレクトの違いを知りたい
  • .htaccessで設定するのってどうやるんだろう
  • リダイレクト設定してのに反映されないので解決方法を知りたい

本記事では、上記の悩みを解決します!

こんにちは、かんです!(»@minimal_kan)

普段はWordPressをメインにWEB制作をしたりブログをやっています。
»プロフィールはこちら

301リダイレクト、302リダイレクトの意味や設定方法ってなんだか難しそうですよね。.htaccessって聞いたことがあるけど、実際にどうやって設定するか分からない、、という方も多いかと思います!

今回は、初心者の方でもできるように分かりやすく解説しています!

4月2日更新

SSL化した場合のリダイレクト方法も追加しました!

それでは早速見ていきましょうー!

SSL化したときのリダイレクト


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

コピペで出来るようになっています!
で囲ってあげてください。
記述する場所はこちらです。
SSL化したときのリダイレクト

301リダイレクトの設定方法


RewriteEngine On
RewriteBase /
RewriteRule ^xxx(対象ページのURL)/$ https://hogehoge.com/hoge/(リダイレクトしたいURLをフルパスで) [R=301,L]
# 301リダイレクトを使う場合[R=301,L]を指定
# BEGIN WordPress
/////
# END WordPress

コピペで出来るようになっています!URLはお好みに変更してください!

302リダイレクトの設定方法


RewriteEngine On
RewriteBase /
RewriteRule ^xxx(対象ページのURL)/$ https://hogehoge.com/new-hoge/(リダイレクトしたいURLをフルパスで) [R=302,L]
# 302リダイレクトを使う場合[R=302,L]を指定
# BEGIN WordPress
/////
# END WordPress

コピペで出来るようになっています!URLはお好みに変更してください!

.htaccessの記述方法

基本的に3パターンあります。

  • .htaccessファイルを本番からダウンロード・アップロードする
  • レンタルサーバーから記述する
  • phpファイルに記述する

.htaccessの場合

一番おすすめなのは、.htaccessで編集することですね。

  • サーバーからダウンロード
  • メモで編集
  • 再度、アップロード

※バックアップだけ取ってください!
こんな感じで、わりと簡単です。ファイルの場所は下記の画像を参考にしてください。

ファイルの設定場所

エックスサーバーの場合

下記のようなイメージです。参考にしてみてください。

301リダイレクトの意味とは?

簡単にいうと、「永久的」にリダイレクトすることです。

使用される場面は以下の通り。

  • サイトを移転
  • サイトを改修
  • 新規サイトの立ち上げ

301リダイレクトをした場合、Google(SEO)の観点で、転送後のサイトを評価するようになります。

302リダイレクトの意味とは?

こちらの場合は、「一時的」にリダイレクトすることです。

使用される場面は以下の通り。

  • サイトを一時的に閉鎖してお知らせページに飛ばす
  • 特定のページを一時的に見れなくする
  • 特定のページから一時的に特定のページへ飛ばしたい時

302でのリダイレクトの場合は、Google(SEO)の観点で転送前のサイトを評価し続けます。

301・302リダイレクト設定時の注意点

上記で、301・302の違いを説明しましたが、ここでは設定時の注意点を紹介します。

注意点

  • 「# BEGIN WordPress」よりも上に書く
  • 302→301の順番で試す

簡単にいうと上記のような感じです。

「# BEGIN WordPress」よりも上に書く

.htaccessには「# BEGIN WordPress」と記述されている箇所があるので、それらより必ず上の部分に記述しましょう。

「# BEGIN WordPress」より下に記述してしまうとリダイレクトしてくれません。

302→301の順番で

301(永久的)リダイレクトを設定するときは302(一時的)リダイレクトから設定しましょう。

なぜなら、間違ったまま設定してしまうと、その時訪れたユーザーのキャッシュには間違った状態で記憶されてしまうからです。
つまり、設定を修正してユーザーが再度サイトへ訪れても正しくリダイレクトされないままになってしまいます。

上記を正しく、間違えないように設定するためにも、302(一時的)リダイレクトで正しく設定が反映がされたのを確認してから、301(永久的)リダイレクトの設定を行っていきましょう。

おつかれさまでした(`・ω・)ゞ

この記事を書いた人
かんろぐ/プロフィールアイコン
かん
未経験からWeb制作会社へ転職 | Webの楽しさや転職のあれこれを発信 | 転職サポート「CodeChange」主催 / 転職成功15名超 | WordPress・Shopify | CodeBegin転職講師 | マナブさん弟子 | カオマンガイとサウナ | ブロガー | ●かんろぐ運営/月間7,600PV達成 |