旧サイトxoopsコンテンツのリダイレクション(Pukiwiki/BWikiからWordPressへ)

pukiwiki WordPress
pukiwiki

サイトデザインを一新したので、積み残していた旧サイトのコンテンツマージをした。

コンテンツはすべて残す必要もないので、検索上位のコンテンツのみ移行対象にして、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

タイトルとURLをコピーしました