ホームページのリニューアルやドメイン移行を行うと、それまで検索サイト(Yahoo等)にリンク表示されていたURLが無効になってしまいます。せっかくリニューアルしたのに、既存顧客が検索サイトから新しいホームページを探し出せなければあまり意味がありませんね。今日はその対応策をご紹介。
以前のHPに公開されていたURLがリニューアルするとなくなっているという事はよくあります。「404 Not Found」です。このような場合、新しいURLへ誘導してあげる方が親切です。サイトによっては「xxx.comに移動しました」と表示していますが、商用HPですとページへのスムーズなアクセスが求められます。こういったとき、PHP/Perlを使用して動的にURLをリダイレクトしてあげます。NotFoundの場合のリダイレクト誘導を行うPHPソースをここに公開しておきます。
<?php
// For SEO by [404 NotFound]
// 404の場合、404.htmlとリダイレクト先に分ける
// ・menu.htmlをindex.htmlへリダイレクトする。
// ・menu1.htmlをindex1.htmlへリダイレクトする。
// ・それ以外はerror/404.htmlのページを表示する。
// ————————————————————-
// NotFoundのページとリダイレクトへのURLを設定します
// ————————————————————-
$defaultURL=”http://xxxxx.com/error/404.html”;
$Redirect = array(
“menu.html” => “index.html”
“menu1.html” => “index1.html”
);
// ————————————————————-
// どこのURLにアクセスしようとして404になったかを取得
// ————————————————————-
$redURL = htmlspecialchars($_SERVER[“REDIRECT_URL”]);
$path = “”;
//新しいURLに変換
foreach($Redirect as $k => $v){
if(strstr($redURL, $k)){
$path = str_replace( $k, $v, $redURL );
break;
}
}
if($path != “”){
header(“Location: “.$path);
}else{
header(“Location: “.$defaultURL);
}
?>