サイトデザインを一新したので、積み残していた旧サイトのコンテンツマージをした。
コンテンツはすべて残す必要もないので、検索上位のコンテンツのみ移行対象にして、xoopsの上で動かしていたBwiki(Pukiwiki互換モジュール)と同じくxoops上で動いていたwordpressのコンテンツをWordPressへ301リダイレクトするための簡単なphpスクリプトをやっつけで書いてみた。
リダイレクトの内容
旧サイトのページはPukiWiki書式のため、URLに日本語パラメータが含まれた形式になる。
例えば、
http://spicebeat.net/xoops/modules/bwiki/index.php?%A5%D5%A5%A1%A5%A4%A5%EB%A5%B7%A5%B9%A5%C6%A5%E0%A4%CE%A5%C1%A5%A7%A5%C3%A5%AF%B4%D6%B3%D6%C4%B4%C0%B0
(ファイルシステムのチェック間隔調整)
を
http://spicebeat.net/blog/archives/188
へリダイレクトする。
リダイレクトスクリプト
上記のリダイレクトを実現するphpスクリプトがこれ。リダイレクト対象が多くないので、転送元URLと転送先URLの対を定数でスクリプトに埋め込んだ。
やっつけで書いたので、お作法に沿ってないかもしれない点はご容赦を。(定数はダミー)
< ?php
$strQueryString = $_SERVER['QUERY_STRING'];
$list = array();
$list[] = array(
'src' => "sourceURL1",
'dst' => "destinationURL1"
);
$list[] = array(
'src' => "sourceURL2",
'dst' => "destinationURL2"
);
$list[] = array(
'src' => "sourceURL3",
'dst' => "destinationUR3"
);
$list[] = array(
'src' => "sourceURL4",
'dst' => "destinationURL4"
);
header("HTTP/1.1 301 Moved Permanently");
if ($strQueryString == NULL) {
header( "Location: http://spicebeat.net/blog/");
} else {
$strQueryString = ereg_replace('%25', '%', $strQueryString);
foreach ($list as $id => $rec) {
switch($strQueryString) {
case $rec['src']:
header("Location: http://spicebeat.net/blog/archives/{$rec['dst']}");
exit;
default:
};
};
header( "Location: http://spicebeat.net/blog/");
}
?>
xoops bwiki用リダイレクトスクリプトの設置
- 前述の例では、xoops/modules/bwiki/index.php?p=%A5%D5%A5%A1%A5%A4%A5%EB%A5%B7%A5%B9%A5%C6%A5%E0%A4%CE%A5%C1%A5%A7%A5%C3%A5%AF%B4%D6%B3%D6%C4%B4%C0%B0 を blog/archives/188 へリダイレクト
- 対応するスクリプトでは、
$list[] = array( 'src' => "p=%A5%D5%A5%A1%A5%A4%A5%EB%A5%B7%A5%B9%A5%C6%A5%E0%A4%CE%A5%C1%A5%A7%A5%C3%A5%AF%B4%D6%B3%D6%C4%B4%C0%B0", 'dst' => "188" );
旧サイトのディレクトリ構造のみ残し、上記スクリプトをindex.phpとして、xoops/modules/bwikiディレクトリ直下に設置。ファイルモードは644。
リダイレクト専用なので、他のファイルはすべて削除。
xoops wordpress用リダイレクトスクリプトの設置
- xoops/modules/wordpress/index.php?p=vvvv を blog/archives/ww へリダイレクト
- $list[] = array(
'src' => "p=vvvv",
'dst' => "ww"
);
として該当するリダイレクト設定を列挙。
前項と同様に旧サイトのディレクトリ構造のみ残し、上記スクリプトをindex.phpとして、xoops/modules/wordpressディレクトリ直下に設置。
これでスッキリ移行完了。(^^)
参考URL
Last Updated on 2024-08-13 by spicebeat