Tag : P_BLOG

1 - 3 of 29

PHPを使った「 301 Redirect 」の設定

Blogを統合する際、旧Blogから全ログを新Blogに引き継いだため、旧Blogは閉鎖して新Blogに 301 Redirect させることにしました。単純にindex.phpへのアクセスをRedirectさせるだけなら、.htaccessを使って次のようにRedirectさせれば良いだけです。

Redirect permanent /index.php http://新URI/index.php

または、

Redirect permanent / http://新URI/

ところが、今回は単純なURI移動ではなくて2つのBlogを1つにまとめており、しかも両Blogのログを時系列に並べ替えています。したがって、旧Blogの各記事への直接リンクは、.htaccessでの設定では適切にRedirectさせることができませんでした。いろいろ調べたのですが、上手い方法が見つからなかったので、最終的にはXREAのユーザー掲示板で教えを乞い、PHPを使ったRedirect設定を使うことにしました。

PHPを使った 301 Redirect

ネタ元とゆーか、教えていただいたXREAユーザー掲示板の該当スレッドはこちらです。shimix様、有益な方法を教えていただいて有り難うございました。

具体的には、次のようなPHPファイルを作成し、P_BLOGの場合はarticle.php、Loggixの場合はindex.phpと差し替えます。 “newid”の*の部分を新Blogで対応する記事番号にしていけば良いわけです。

<?php
$id = $_GET['id'];
if ($id == '1') { $newid = '*'; }
if ($id == '2') { $newid = '*'; }
if ($id == '3') { $newid = '*'; }
    :
    :
header( 'HTTP/1.1 301 Moved Permanently' );
header( 'location: http://new.example.com/index.php?id='. $newid );
?>

記事数が多いといささか大変ですが、不規則な記事idへ301ステータス付きでRedirectできるのが素晴らしいところです。

なお、Loggixの方はこれだけでOKですが、P_BLOGの方はindex.phpへのリンクやcategory.php、search.phpへのリンクも考えられるので、これらを新Blogのindex.phpへRedirectさせるように.htaccessでの Redirect permanent も併用すると良いでしょう。

以上

Blog統合しました。

今までネタ別に2つに分けていたBlogを1つに統合しました。統合したのは以下の2つです。

  1. Ganesha's monologue
    P_BLOGをXREAのS102鯖で動かして運用していました。
    元々は私が初めて始めたBlogでしたが、まず「家族に知られたくない内緒のネタ」を別Blogに分離し、「蝶関係のネタ」をさらに別Blogに分離したところ、書くネタが無くなって最近は更新が滞るようになっていました。そこで、最初に分離した「家族に内緒のネタ」を再統合することにしました。
    なお、今回の統合で永くお世話になったP_BLOGともお別れです。有り難う。

  2. Ganesha's lab.
    LoggixをXREAのS370鯖にて、データベースはSQLite2で動かして運用していました。
    上の Ganesha's monologue から最初に分離させた「家族に内緒のネタ」すなわち物欲・散財関係のネタ用に運用していましたが、それほど頻繁に書くネタがあるわけでもないので元鞘に戻すことにしました。「家族に内緒」の部分は全家族PCのhostsファイルを編集してアクセス制限をかけることで対処しました。(悪知恵)
    なお、統合後の新Blogも同じLoggix運用ですが、せっかくなので新規インストールしてデータベースをSQLite3にバージョンアップさせることにしました。

新Blogのタイトルは、Ganesha's monolog. としました。P_BLOGで運用していたほうの「monologue」を引き継ぎつつ、「monolog.」と微妙に変更しています。

「蝶関係のネタ」を扱う Ganesha's Field Notebook. はこれまで通り並行運用を続けるので、今後はBlog2本立てということになります。

統合にあたって、過去ログはすべて時系列に並べ替えて新Blogに移しました。そのため、データベース変換等の手段を使えず、1件1件コピペで移したので、移行にえらく時間がかかりました。(疲れた)
過去ログへのリンクはすべて301ステータス付でRedirectさせていますので、ただでさえ少ないページビューがさらに落ち込むことはないはずです。(そう信じたい)

Redirectを設定する際にちょっとした工夫をしたので、次回エントリではそのへんのTipsを採り上げる予定です。

P_BLOGのコンテンツメニューにLoginボタンを追加してみた

旧Ganesha's monologue(by P_BLOG)より移転転記。(2009-12-13)

WordPress を使うようになって、メニュー内の Loginボタンがとても便利だと感じたので、P_BLOG にも追加してみた。Loggix にも Loginボタンは無いので、作者のkazさんは無い方がセキュリティ的に望ましいと考えてらっしゃるんでしょうが、ユーザー名とパスワードで充分でしょ。(たぶん)

メニュー部分の表示を変更するには、/include/user_include/menu.inc.php を編集すれば良いが、P_BLOG のシステム管理にはカスタムファイル編集という便利な機能があるので、それを利用する。編集内容は、Login ボタンを追加したい位置に下記の1行を追加するだけだ。

'Login'        => 'admin/login.php',

編集画面イメージはこちら。

Login_003p.png

Loginボタンを追加する前と後のメニュー・イメージも載せておく。なお、このイメージは Taj Mahal というCSSを選択した場合のものだ。

  • 追加前
    Login_001p.png

  • 追加後
    Login_002p.png

余談

Login後のメニューにも、この Loginボタンが表示されており、クリックすると Logout することができる。本当は、Login後のメニューには Logout と表示されるようにしたいんだけど、やり方が分からん。残念。 よく考えてみたら、ログインユーザー・メニュー内に「ログアウト」というリンクがあるので意味無かった。むしろ「ログイン後のメニューには表示しないようにしたい」と書くべきだったな。

1 2 3 4 5 6 __ __ __ __ 次へ