3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援→開発戻り浦島太郎状態の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。

Webサイトの一部を別ドメインに移したためリダイレクトさせてみた

Webサイトの一部の動的なコンテンツをもっとサクサク動くレンタルサーバーに移行することになりました。

で、移行後に古いURLで来た人を移行後のサイトに移すために、リダイレクトをすることに。。

当初は、JavaScript で「新しいページに移行しました。○○後に自動的に飛びます」的な感じにしようかと思ってたんですが、調べてみるとリダイレクトする方法いろいろあったんですね。

Like@Lunatic:リダイレクト手法まとめによると、HTTPの301レスポンスコードを使う方法、HTMLの meta データを使う方法、JavaScriptの location.href を使う方法があるようです。

SEO的にお勧め間のは HTTP 301 レスポンスコード(301リダイレクト)使う方法みたいなので、これで行くことにしました。

要件としては、http://www.oldurl.com/forum/ 配下のアクセスを新しい http://www.newurl.com/forum/ にリダイレクトさすというものです。

最初、.htaccessファイルに

Redirect permanent /forum/ http://www.newurl.com/forum/

という方法でやってたんですが、どうもレンタルサーバApacheがうまくやってくれないようで。。。

なので、Mod-Rewrite モジュールを使う方法にしました。

.htaccessファイルにこんな感じで設定し、/forum/ の配下に置きます。

RewriteEngine On

RewriteRule ^(.*) http://www.newurl.com/forum/$1 [R=301,L]

これで、http://www.oldurl.com/forum/index.php?ID=11 とかのパラメータ付きクエリも http://www.newurl.com/forum/index.php?ID=11 というようにちゃんとリダイレクトできるようになりました。

参考:

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

CSS Lecture:301リダイレクトの記述方法

btmup Blog:PHPのページをWordPressのブログに301リダイレクトする。

mod_rewrite