a-blogからの移行でのリンク切れ
久しぶりにみんぽすの記事を書いて、過去の記事を見ようとすると残念な index.php?ID=xxxx のようなリンク切れが多数ある事を見つけました。分かっていた事ですが...
とりあえずは対策しましたので、どうやったのかを書き残しておきます。
- https://kazumich.com/index.php?ID=5215 (例えばこんな感じ)
ファイル名の変更
index.php を ablogcms.php のようにリネームします。
.htaccess の変更
mod_rewitreの設定でindex.phpが動きなさいと書かれている部分を修正します。
RewriteCond %{REQUEST_FILENAME} !-f RewriteRule (^|/)[^\./]*(/?$|(\.html|\.xml|\.js|\.json)$) index.php [L]
を
RewriteCond %{REQUEST_FILENAME} !-f RewriteRule (^|/)[^\./]*(/?$|(\.html|\.xml|\.js|\.json)$) ablogcms.php [L]
のように修正します。
index.php を作成
私のブログは、カテゴリーを利用していないので、以下のような感じで a-blog cms 側で生成しているエントリーの形式(entry-xxx.html)に変換する事が可能です。301というステータスをつけてリダイレクトする事で、今のアドレスは新しい場所へ完全に移動したことを意味します。
<?php $url = "http://".$_SERVER['SERVER_NAME']; $jump = sprintf("%s/entry-%d.html",$url,$_GET['ID']); header ('HTTP/1.1 301 Moved Permanently'); header( "Status: 301 Moved Permanently" ); header("location: $jump"); exit; ?>
カテゴリーが設定されている場合には、カテゴリーのディレクトリが必要になりますので、簡単にはできません。ご注意下さい。