ホーム > ネット > .htaccess 使い方 ディレクトリ 変更 移転 URL変更 リダイレクト
目次 | 元のページ 前のページ | 次のページ サイトマップ | ページEND

.htaccess 使い方 ディレクトリ 変更 移転 URL変更 リダイレクト


.htaccess 使い方 URL 変更 引越 リダイレクト



「.htaccess」ファイルに、URLのリダイレクト設定を記述しておくと、旧URLでアクセスしてきた閲覧者を、自動的に新URLページに誘導できます

サイトを変更した場合、あるいは、同一サイト内でディレクトリ名を変更した場合、ページURLを変更した場合等、それぞれの変更に対応でき、サイト、ディレクトリ、ページのお引越し等の際、自動的に引越し先へ閲覧者を誘導することができます




サイトの特定ディレクトリのみ 別ディレクトリにリダイレクトさせる (Redirect 使用)



サイト内の特定のディレクトリのみ別のサイトに移転するような場合、あるいは、同一サイト内でディレクトリ(名)を変更するような場合に使用します


旧サイト内の特定のディレクトリのみへのアクセスを、新サイト(新旧同一サイトでも可能)の別ディレクトリ、同一ページ名に自動転送させる場合、下記内容の 「.htaccess」 ファイルを旧サイトのルートディレクトリに、設置しておきます

同一サイト内でディレクトリのみ移転するような場合は、新ディレクトリの存在するサイトのルートディレクトリに設置しておきます


記述場所
.htaccess
構文
Redirect permanent /旧ディレクトリ名/ https://新ドメイン名/新ディレクトリ名/
記述例
Redirect permanent /D1/ https://abhp.net/D2/
説明
Redirect permanent /D1/ https://abhp.net/D2/
旧ディレクトリ名 (/D1/) への全てのアクセスを、新ドメイン名 (https://abhp.net/) 配下の、新ディレクトリ名 (/D1/) の 同一ファイル名(ページ)に転送します
例えば、
https://www.旧.net/D1/P1.php へのアクセスは、https://abhp.net/D2/P1.php に
https://www.旧.net/D1/P2.html へのアクセスは、https://abhp.net/D2/P2.html に
自動転送されます
(改行コード)
最終行は必ず改行し、改行コードのみの空行とします




特定のディレクトリから 別のディレクトリへの リダイレクト (Rewrite 使用)



ディレクトリ名の変更により、URLが変わる場合に、旧ディレクトリ名(旧URL)でアクセスしてきた閲覧者を、URLの変更部分を自動的に書き変えることにより、新ディレクトリ名の同じファイル名のページに転送(リダイレクト)します


記述場所
.htaccess
構文
RewriteEngine on
RewriteBase /
RewriteRule ^旧ディレクトリ名/(.*)$ https://新ドメイン名/新ディレクトリ名/$1 [R=301,L]
記述例
RewriteEngine on
RewriteBase /
RewriteRule ^D1/(.*)$ https://abhp.net/D2/$1 [R=301,L]
説明
RewriteEngine on
Rewrite機能をON(URLの書き換えを可能)にします
RewriteBase /
URLの書き換えのベースをルートディレクトリ(/)とします
RewriteRule ^旧ディレクトリ名/(.*)$ https://新ドメイン名/新ディレクトリ名/$1 [R=301,L]
URLの書き換え内容を指定します
旧ディレクトリ名へのアクセス時、新ドメイン名/新ディレクトリ名の同一ページ名(.htmlファイル)に転送します
(改行コード)
最終行は必ず改行し、改行コードのみの空行とします




「http」 と 「https」 それぞれ切り分けて リダイレクト (Rewrite 使用)



「http」 と 「https」 ともに使用しているサイトの場合、「http」 アクセスと 「https」 アクセス、それぞれを切り分けて、新サイトにリダイレクトします


記述場所
.htaccess
構文
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} 80
RewriteRule ^旧ディレクトリ名/(.*)$ https://新ドメイン名/新ディレクトリ名/$1 [R=301,L]
RewriteCond %{SERVER_PORT} 443
RewriteRule ^旧ディレクトリ名/(.*)$ https://新ドメイン名/新ディレクトリ名/$1 [R=301,L]
記述例
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} 80
RewriteRule ^D1/(.*)$ https://abhp.net/D2/$1 [R=301,L]
RewriteCond %{SERVER_PORT} 443
RewriteRule ^D1/(.*)$ https://abhp.net/D2/$1 [R=301,L]
説明
RewriteEngine on
Rewrite機能をON(URLの書き換えを可能)にします
RewriteBase /
URLの書き換えのベースをルートディレクトリ(/)とします
RewriteCond %{SERVER_PORT} 80
条件指定 : ポート番号 「80」 (http) アクセス時のみリダイレクトする
RewriteRule ^旧ディレクトリ名/(.*)$ https://新ドメイン名/新ディレクトリ名/$1 [R=301,L]
URLの書き換え内容を指定します
旧ディレクトリ名へのアクセス時、新ドメイン名/新ディレクトリ名の同一ページ名(.htmlファイル等)に、「http」転送します
RewriteCond %{SERVER_PORT} 443
条件指定 : ポート番号 「443」 (https) アクセス時のみリダイレクトする
RewriteRule ^旧ディレクトリ名/(.*)$ https://新ドメイン名/新ディレクトリ名/$1 [R=301,L]
URLの書き換え内容を指定します
旧ディレクトリ名へのアクセス時、新ドメイン名/新ディレクトリ名の同一ページ名(.htmlファイル等)に、「https」転送します
(改行コード)
最終行は必ず改行し、改行コードのみの空行とします





301 リダイレクト (恒久的な移動) と 302 リダイレクト (一時的な移動)



記述場所
.htaccess
記述内容
恒久的に移転する場合 (301リダイレクト) 301リダイレクトは、恒久的に移動するという意味で、ドメインを変更したり、ページのアドレスを変更した場合等で固定的に変更する場合に使用します
Redirect permanent 「転送元」 「転送先」
一時的に移転する場合 (302リダイレクト) 302リダイレクトは、一時的に移動するという意味で、期間限定のイベントやキャンペーンなどで一時的にリダイレクトしたい時等に使用します
Redirect temp 「転送元」 「転送先」

どちらを使用しても、アクセスされた瞬間に自動転送され、転送元のURLがブラウザの履歴に残らない点も同じで、両者の違いは、(ブラウザなどに)通知される転送理由(HTTPステータスコード)が、前者では「恒久的な移動」(301リダイレクト)で、後者では「一時的な移動」(302リダイレクト)だという点のみです

ブラウザの動作はどちらも同じですが、検索サイトのデータベースへの登録には影響する可能性があり、「ずっと移転する」(=転送先URLを登録して欲しい)なら前者を、「今だけ移転する」(=転送元URLを登録して欲しい)なら後者を使います




.htaccess で 良く使われる フラグ オプション パラメータ 意味


フラグ 意味
[NC] 大文字小文字を区別しない
[R=301,L] R=301 レスポンスコードを 301 (恒久的な移転) に変更
L 直後に続くルールを実行しない
RewriteCond に続けて RewriteRule を複数記述するような場合、最終文につける

目次 | 元のページ 前のページ | 次のページ サイトマップ | ページTOP
ホーム > ネット > .htaccess 使い方 ディレクトリ 変更 移転 URL変更 リダイレクト
   

© 2014 abhp.net All Rights Reserved.

参考情報


htaccess-リダイレクト(サイトの引越し)
2-4 移転先へ自動移動(転送-リダイレクト)させる方法 [ホームページ作成] All About
.htaccessを使ったよく使うリダイレクトまとめ | Kana-Lier カナリエ#sec6#sec6
.htaccessを使った301リダイレクト記述方法 SEO対策 LYKAONエンジニアブログ

ページTOP
ページTOP
ページTOP
ページTOP