サイトのURLに構造を変えるときに便利! リダイレクトの色々なかけ方!

 - 

 -  >

 -  プログラミング

サイトを作ってURL構造を変えるときや、URLがもう使わなくなった時などがあって別のURLに転送したい時はリダイレクトをかける必要があります。

サイトのリニューアルのためにリダイレクトをかける必要があり、いろいろと調べたり勉強になったので、復讐もかねてリダイレクトのかけ方について書いていきます。

NewImage

WordPressのサイトでリダイレクトを行うには、主に3つの方法があります。

プラグイン「リディレクション」を使う

リディレクション(Redirection)は、簡単にリダイレクトをかけることができるWordPressのプラグインです。

以下からでも、WordPressの管理画面からでもどちらでもインストールすることが可能です。
WordPress › Redirection « WordPress Plugins

このように、管理画面からURLを設定するだけで簡単にリダイレクトをかけることができます。後述しますが、正規表現を活用すれば、たくさんのリダイレクトを一気にかけることができるので、パーマリンクの設定を変えてた時などにも活用できます。

スクリーンショット 2015 10 16 22 43 22

ただWordPress管理外のHTMLファイルからはリダイレクトはかけれない

いちおう、こんな罠にハマることも少ないと思うのですが、このプラグインでリダイレクトをかけるためにけっこう時間を無駄にしてしまったので、注意点も書いておきます。

今回自分が使ったのは、リニューアル中のサイトで、HTMLファイルで作成していたものをWordPressに移行し、そのためのリダイレクトをかけるというものでした。

そのため、同一のサーバー内にはありますが、リダイレクトをかけたいURLはWordPressの管理外のためリダイレクトをかけることができませんでした。(ソースURLがWordPressで管理しているURLであれば、ターゲットURLはWordPressの管理外でもかまいせん。おそらく外部サイトでも飛ばすことができます。)

同じ条件に当てはまる人はそう多くないと思いますが、リダイレクションを活用して、どう考えても使い方はあってるのに飛ばないという時はこのパターンにハマっている可能性があります。

.htaccessを編集する

二つ目の方法がhtaccessを編集する方法です。自分はリダイレクションを使うことができないパターンだったので、htaccessを編集を行いました。

WordPressでサイトを運営していたらルートディレクトリにhtaccessは基本的にありますがよくわからない人も多いと思いますので(自分もまだ完璧には理解してないかもw)、そもそもまず、htaccessについてです。(FTPソフトなどを使っている場合は、.から始まる不可視ファイルは見えなくなっていることもありますので、なぜかないという人は不可視ファイルを見えるようにしてください)

.htaccess(ドットエイチティーアクセス)とは、Apacheを用いたWebサーバにおいて、ディレクトリ単位で設置及び設定を行える設定ファイルである。

.htaccess – Wikipediaより)

レンタルサーバーで、ロリポップ!でWordPressを使っていたら最初から管理画面へのアクセスにはIPアドレスの設定が必要なので、とりあえずいじったことがある人もいると思います。

ディレクトリごとに設定することができるので、特定のディレクトリーだけにベーシック認証をかけたり、リダイレクトをかけたりすることもできます。

そして、htaccessでリダイレクトをかけるにはこのように書きます。

例えば、このように書くことでindex.htmlにアクセスした人をhttp://yasushikobayashi.info/にとばすことができます。

ちゃんとリダイレクトをかけることで、ほぼシームレスに使っていないURLから来てほしいURLにしてもらうことができ、404エラーになることを減らすことができます。

404エラーを減らすことができるので、SEO的にもプラスになります。ただ、サーバーによって書き方が少し違ったり、動作しないこともあるので、動作の確認は必ずしてください。

また、文法として必ず最後に一行改行をしてください。

このような、htaccessを簡単に作成してくれるサイトもあります。
htaccess/リダイレクト(サイトの引越し)

headerに直接書き込みメタタグで設定する

このように、ヘッダーのメタタグでもリダイレクトを行うことができます。

ヘッダーに記述できるので、プラグインも必要ないですし、簡単なリダイレクトだけを行いたい場合は、ヘッダーに直接書き込むのが良さそうです。

正規表現を活用する

最後に、ある程度の規模でリダイレクトをかける必要がある時に有効な正規表現についてです。

正規表現とは、文字列のパターンを表現する表記法。文字列の検索・置換を行うときに利用される。

正規表現とは|regular expression|RE – 意味/解説/説明/定義 : IT用語辞典より)

基本的にURLは一定のパターンに基づいて決定されるので、そのパターンに基いて置換したりするということですね。

これを活用することで、WordPressでカテゴリを再編集した時やURLのパターンを変えた時でも問題なくシームレスに新規のURLに飛んでもらうことができます。

例として、今回は自分がhtaccessで設定を行ったので、htaccessでの例を掲載しますが、プラグインのリダイレクションを活用しても基本的に書き方は同じです。

このhtaccessに書き込んだリダイレクトの正規表現では、例えばこのようなURLに対してリダイレクトがかかります。

ソースURL:「http://yasushikobayashi.info/archives/post-5083.html」
ターゲットURL:http://yasushikobayashi.info/archives/2014/post_5083

正規表現の書き方としては、(.*)によって文字列を検索し、$1で検索した文字列を代入するという形式です。

また、正規表現の書き方があっているかのチェックをするためにはこのサイトが便利です。(このサイトではデリミタが必須ですが、デリミタのせいで正常に動かないこともあるので気をつけてください。)
正規表現チェッカー PHP: preg_match() / JavaScript: match()

関連書籍はこちら。

Facebookでシェアする

Twitterでシェアする

はてなブックマークに追加

 更新をチェックする! follow us in feedly

カスタム検索

Popular Post

Copyright© 新卒フリーランサーのブログ!2015 All Rights Reserved.