301リダイレクトとは
Webサイトをリニューアルした時など、
古いURLをそのままにしていませんか?
適正な処置をすることで、SEOとしても有効に働きます。
「301 Redirect(301リダイレクト)」
「HTTPプロトコル」という規格で正式に定められた方式です。
Googleは、ドメイン移行の場合には「301リダイレクト」を推奨しています。
Webサイトをリニューアルする場合など、個別ページ、或いはドメインを変更するなど、何かと、「301リダイレクト」を行うタイミングが出てくる場合があります。
「.htaccess」のファイルを使用した、
「301リダイレクト」の具体的な設定手順をご紹介いたします!
設定に関しての条件
- 「.htaccess」の機能をサポートをしていること
- 「Mod-Rewrite」の機能のサポートをしていること
基本的には、Webサーバ(Apache)(Nginx+Apache)で利用できます。
また、Apacheと互換性が高い、Webサーバ(LiteSpeed)でも利用できます。
※但し、レンタルサーバーの仕様によって、サポートされていない場合もあるので確認が必要です!
「Mod-Rewrite」とは、従来からよく使われている「Apache」で利用されているモジュール機能
「.htaccess」を使って、URLをリライトするルールを記述できます。
「.htaccess」のファイル作成
リダイレクトのコードを記述する「.htaccess」ファイル
この「.htaccess」のファイルの作成は、テキストエディタを使います。
テキストエディタで、記述を記載して「.htaccess」というファイルを作ります。
メモ帳で作成しても問題無いようですが、出来れば高性能なテキストエディタが無難です!
テキストエディタが無い方は、こちらから無料でダウンロードできます。
【FREE】テキストエディタの定番と言えば!Windows10対応
ファイル名は「.htaccess」にするのですが、Windows上では、
「.」を拡張子として認識する為、仮に「a.htaccess」とした名前で作成しておくこと
FTPにアップロードした後に、「.htaccess」に名前を変更します。
「.」ドットは、必要ですので消さないでくださいね。
元々「.htaccess」が、存在ていている場合は、新たに作成する必要は無いです。
但し、FTP上で上書きするとトラブルの原因になるのでダウンロードして作成すること
- 必ず、バックアップをとってから、「.htaccess」ファイルの編集をおこなう
- 「.htaccess」の記述は、基本的に一番上に書くのが一般的に見受けられている
(絶対的なルールが決まっているわけではないが、処理は上から読んでいきます!) - 必ず最後に改行(空白行)を入れる。(一行以上の空白も可能)
- パーミッションは、可能なら「604(グループ不可)」またはデフォルト「644」
- 「.htaccess」の保存は、「UTF-8」(BOMは付加し)

ページ単位でリダイレクト
個別のページから個別のページにリダイレクト(転送)
「.htaccess」ファイルに記述
1 2 3 4 5 6 |
# ページ単位のリダイレクト <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^■■.html$ https://www.〇〇.com/▲▲.html [L,R=301] </IfModule> |
「■■.html」から「https://www.○○○.com/▲▲▲.html」にリダイレクト
- URL:「■■」「www.〇〇.com/▲▲」は、ご自身のURLに置き換えて下さい。
- 「www無し」の場合は、「www」を省いてください。
- 続けて記述する事で複数の設定が可能です。
- [L,R=301]を302に記述すると「302リダイレクト」になります。
ドメインのリダイレクト
旧ドメインから新ドメインにリダイレクト(転送)
ドメインだけ移行で、ディレクトリ名はそのまま変わらない
(下層ページ(個別ページ名)のURLは変わらない場合)
「.htaccess」ファイルに記述
1 2 3 4 5 6 |
# ドメインのリダイレクト <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^www.■■■.com RewriteRule ^(.*) https://www.▲▲▲.com/$1 [R=301,L] </IfModule> |
(旧)「https://www.■■■.com」から(新)「https://www.▲▲▲.com」にリダイレクト
- URL:「www.■■■.com」「www.▲▲▲.com」は、ご自身のURLに置き換えて下さい。
- 「www無し」の場合は、「www」を省いてください。
- [R=301,L] を、302に記述すると「302リダイレクト」になります。
サブドメインのリダイレクト

サブドメインからルートドメインへにリダイレクト
1 2 3 4 5 6 |
# サブドメインからルートドメインのリダイレクト <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^blog\.■■■\.com$ RewriteRule (.*) https://▲▲▲.com/$1 [R=301,L] </IfModule> |
サブドメインからサブディレクトリにリダイレクト
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# サブドメインからサブディレクトリにリダイレクト <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^blog\.■■■\.com$ RewriteRule (.*) https://▲▲▲.com/$1 [R=301,L] </IfModule> # サブディレクトリからサブドメインにリダイレクト <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^blog\.■■■\.com$ RewriteRule (.*) https://▲▲▲.com/$1 [R=301,L] </IfModule> |
「blpg■■■.com」から「https://▲▲▲.com」にリダイレクト
- URL:「blog¥.■■■¥.com」「▲▲▲.com」は、ご自身のURLに置き換えて下さい。
- 「www無し」の場合は、「www」を省いてください。
- [R=301,L] を、302に記述すると「302リダイレクト」になります。
「index.html 無し」に統一
1 2 3 4 5 6 |
# index.html なしに統一 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{THE_REQUEST} ^.*/index\.html RewriteRule ^(.*)/index\.html$ http://%{HTTP_HOST}/$1 [R=301,L] </IfModule> |
「www有り無し」に統一
「.htaccess」ファイルに記述
1 2 3 4 5 6 7 |
# wwwありに統一 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^○○○○○\.com [NC] RewriteRule ^(.*)$ https://www.○○○○○.com/$1 [R=301,L] </IfModule> |
1 2 3 4 5 6 7 |
# wwwなしに統一 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.○○○○○\.com [NC] RewriteRule ^(.*)$ https://○○○○○.com/$1 [R=301,L] </IfModule> |
「https://www.○○○○.com」に統一
- 「○○○○○¥.com」「○○○○○.com」は、ご自身のURLに置き換えて下さい。
「https化」に統一
「.htaccess」ファイルに記述
1 2 3 4 5 6 |
# https に統一 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule> |
「https」に統一
- 「変更する箇所はありません」
「www無し有り+https化」に統一
1 2 3 4 5 6 7 8 9 |
# wwwなしに統一 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.○○○○○\.com [NC] RewriteRule ^(.*)$ http://○○○○○.com/$1 [R=301,L] # https に統一 RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule> |
1 2 3 4 5 6 7 8 9 |
# wwwありに統一 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^○○○○○\.com [NC] RewriteRule ^(.*)$ http://www.○○○○○.com/$1 [R=301,L] # https に統一 RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule> |
「https://www.○○○○.com」にリダイレクト
- 新しいURL:「https://www.○○○○.com」は、ご自身のURLに置き換えて下さい。
- 「www無し」の場合は、「www」を省いてください。
記載内容の概要

① <IfModule mod_rewrite.c>
「mod_rewrite」が利用できるか確認しています
「<IfModule mod_rewrite.c>……….</IfModule>」
「mod_rewrite」が利用できない場合は、中のコードが適用されなくなります。
利用できない環境で「mod_rewrite」のコード入力するとエラーが発生しますので、
利用できるか確認してから実行するようにします。
② RewriteEngine on
リライト機能をONにする
③ RewriteCond
リライトを実行するための条件
- %{HTTPS} off・・・・・・・・https 以外
- %{HTTP_HOST}・・・・・・サーバーのホスト名
- %{HTTPS} off・・・・・https で始まる URL にリダイレクト
- [NC]・・・・・・・・・・大文字小文字を区別しない
④ RewriteRule
リライトを適用する
R・・・・・強制的に外部へリダイレクション
L・・・・・マッチした時点で終了、以降の読み込みは行わない
⑤</IfModule>
「<IfModule mod_rewrite.c>」「RewriteEngine on」
に、関しては、一度、書いていれば、その都度書く必要がないです。
「.htaccess」のアップロード
作成した「.htaccess」ファイルをアップロードします。
アップロード先は、ルートディレクトリ
(トップページの「index.html」が入っている、一番上のフォルダ)
FTPクライアントソフトが無い方は、こちらからダウンロードして下さい
無料で使える高速FTPソフト
ステータスコードの確認

外部サイトでおすすめな「リダイレクトチェック」ツール
オンライン上で、簡単にチェック結果の確認ができます。