Apache “.htaccess”を利用して301リダイレクトを行う方法

スポンサーリンク




Webサイトを運営していると、URLの転送が必要になることは多々あります。

その際、
旧URLが持っているGoogleからの評価を引き継いで
転送することができる(悪い評価も引き継ぎます)のが301リダイレクトです。

本記事では、mod_Rewriteを使った301リダイレクトのやり方をご紹介します。

しかし、転送処理を間違えると、
ページが見られなくなるなど大きな問題が発生しえます。
必ずエンジニアなどの技術の分かる人と一緒に対応を行うようにしてください。

WordPressのサイトであれば、
代りに「Redirection」というプラグインを使われると良いでしょう。


1 301リダイレクトの前提条件

301リダイレクトを使うには以下の前提条件があります。

  •  .htaccessが使えるサーバーであること
  •  Apache(アパッチ)というウェブサーバーを使っていること
  •  「mod_rewrite」という機能をサポートしているウェブサーバーであること(推奨)

下表に各レンタルサーバーの対応状況を一部掲載しておきます。
ご自分のサーバーが対応しているかどうかは、サーバー会社のWebサイトなどに載っているのでそちらで確認してください。

表1-1 mod_rewriteサポート状況

レンタルサーバー Apache対応 mod_rewirteサポート
さくらインターネット
ロリポップ
Xserver
WADAX


2 転送処理の記述

.htaccessファイルの中に、
下記のケースから行いたいサイトのリダイレクトに合わせて
編集した上で保存してください。

作成し保存した.htaccessは、サーバーにアップロードをします。
アップロードするにはFTPソフトを使用します。

.htaccessの有効範囲は、
.htaccessをアップロードディレクトリと、その子階層に対してとなります。

(1)ページ単位のリダイレクト

old.html」にアクセスがあった際に、
http://www.example.com/new.html」へ301リダイレクトさせる記述です。


(2)ディレクトリ単位のリダイレクト

「old」ディレクトリにアクセスがあった際、
「new」ディレクトリに転送をかけたい場合の記述です。


(3)http→httpsのリダイレクト

HTTPアクセスされたページを、SSLでリダイレクトをする方法です。
SSLを使いたいディレクトリに、以下を記述したファイルを入りします。

GoogleがSSL化を推奨していることもあり、SSL対応を行う人も増えていますが、
この場合もHTTPでのアクセスをHTTPSにリダイレクトしたほうが良いです。

SSLでリダイレクトするページを個別で指定する場合
a.htmlとb.htmlというページだけSSLへリダイレクトしたい場合は以下となります。


(4)https→http のリダイレクト


(5)wwwなしURLを、wwwありURLへリダイレクトする記述

http://example.com/へアクセスがあった際に、
http://www.example.com/へリダイレクトをかける記述です。

こちらはリンクポピュラリティの分散を防ぐという考えもありますので、
どちらかに統一しておいたほうがいいでしょう。


(6)wwwありURLを、wwwなしURLへリダイレクトする記述


(7)TOPページのindex.htmlをindex.html無しに統一する記述




スポンサーリンク



スポンサーリンク

コメントを残す

このページの先頭へ

Top