ホーム > Diary | Movable Type > ブログ補完計画(1)PHP化前編(うぅ~。)

ブログ補完計画(1)PHP化前編(うぅ~。)

久しく更新していなかったこのブログ。

思い切ってリニューアルしました。

“黒”から“白”へ思い切ってリニューアルしました。
そればかりではありません。

ついに、php化しました。

ホンネをいうと少し飽きてきたんです。

イヤ、このブログ以外に、こづかい稼ぎ用のブログの更新が忙しくて・・・

で、当然、そうゆうブログはアクセスを集めるために、色々工夫をするけど
このブログはあんまりその辺を意識して更新してませんでした。

このブログは、私が初めてMovable Typeで作ったブログ。
当然、初心者が作るものだから色々稚拙な部分があるのは確か。

こづかい稼ぎ用のブログを作る過程で、当然ながら、技術や知識が
それなり(あくまでもそれなりです)に身に付いてくると
デフォルトのテンプレートに少し手を加えただけのデザインとか、
ゴチャゴチャしたサイドバーとか、
まったくSEOを意識してないところとか、
80エントリー近く記事がありながら、htmlで運用しているところとか、
どうも、イケてないなぁと、思い始めたわけです。

とは言え、少ないながらも、それなりにアクセスがあるし、
自分の原点とも言えるブログなので、
ここで、補完計画を実行をすることにしました。

【*Marquee Moon補完計画】

  1. php化し、軽量化&再構築の時間短縮
  2. デザイン・テンプレートの変更
  3. 白系のデザインに変更
  4. ウィジェットの整理
  5. トップバナーも画像変更
  6. ブログタイトルの画像化
  7. SEO対策
  8. 更新pingの整理
  9. 各サーチエンジンにサイトマップ送信
  10. ソースコードを美しくする。

というか、アタリマエの事が全然できてなかですね。

というわけで、今回は「ブログ補完計画」の
第一弾の“php”化にチャレンジ!前編です。

まずは、Movable Typepをリリースされたばかりの
4.24にアップグレード。

ますは、情報収集。
php化に関しては、よく世話になっている、
Movable Typep備忘録小粋空間で丁寧に解説れてます。

中でも、Movable Typeb備忘録の「MovableTypeをPHP化する」という記事の
内容はかなりわかりやすく、php化した際に一番の懸念となっている
リダイレクトの方法についても、同じく、Movable Typeb備忘録の
「MovableTypeで楽にリダイレクトする」詳細に記述されてます。

で、実際、私がたどった手順を解説すると

(1)パーミッションの設定

まず、現在使っているのはさくらレンタルサーバーでは、パーミッションが
ディレクトリ、ファイル共に、755か、705でないとphpが動かないので、
以下の記述をmt-config.cgiに加えます。

HTMLUmask 0022DirUmask 0022UploadUmask 0022DBUmask 0022HTMLPerms 0777UploadPerms 0777

こうする事で、今後生成されるファイルはパーミッションが“755”になります

が・・・、今まで作ったディレクトリは変わらないので、
これは手作業でパーミッションを変えます。

この作業で1時間ほどかかりました。

(2).htaccessファイルの生成準備

php化することによって、URLが変わるので、旧URLからアクセスできるように、
リダイレクト(転送)させます。
そのために、.htaccessを生成します。

.htaccessは普通のテキストエディタで充分つくれます。

あるURLから、URLに転送する場合は、

Redirect permanent url-path url

この場合、“url-path”はルートディレクトリからの絶対パスで、
url”は、いわゆるURLになります。

なので、このブログの場合、トップページの場合、ドメイン名とルートディレクトリ名が同じで、
その直下に、トップページを置いているのでこうなります。

Redirect permanent /index.html http://marqueemoon.info/index.php

これを、必要なページ分つくるわけですが、そんなもの一つ、一つ手で
作ってられないので、インデックステンプレートを追加して処理します。

このテンプレートもMovable Typep備忘録ので書かれたものを利用します。

Movable Typeb備忘録のテンプレートを利用する際は、MTRelativePathという
プラグインを使用するので、これも忘れずにサーバーにアップロードします。

※ここまでの手順については、Movable Typep備忘録の
「MovableTypeで楽にリダイレクトする」を参照していただけると幸いです。

ただ、Movable Typeb備忘録に記載されているテンプレート実は、間違ってました。
Movable Typep備忘録のテンプレートでは、<$MTBlogURL relative_url="1"$>と
記載されているところを、<$MTBlogURL relative_path="1"$>に修正して使用します。

修正したのはこちらになります。

# トップページをリダイレクトする場合Redirect permanent <$MTBlogURL relative_path="1"$>index.html <$MTBlogURL$>index.php

# 各エントリをリダイレクトする場合   Redirect permanent <$MTEntryPermalink relative_path="1"$> <MTEntryDate format="%Y/%m/%d-%H%M%S"$>.php

# 各カテゴリをリダイレクトする場合    Redirect permanent <$MTArchiveLink relative_path="1"$> <$MTArchiveLink$>index.php

# 各月別ページをリダイレクトする場合    Redirect permanent <$MTArchiveLink relative_path="1"$> <$MTArchiveLink$>index.php

 # 各日別ページをリダイレクトする場合    Redirect permanent <$MTArchiveLink relative_path="1"$> <$MTArchiveLink$>index.php

これで、テンプレートの名前を“htaccess”、
出力ファイル名を“htaccess.txt”にして、「保存と再構築」を実行。
サーバーのindex.htmlと同じディレクトリにhtaccess.txtが生成されているので、
これをFTPソフトで、ダウンロードし保存します。

これをサーバーにアップロードし、ファイル名を“.htaccess”に変更すると
リダイレクトが有効になります。
サーバーにアップロードしてから、名前を変更しても構わないのですが、
ローカル環境でも、テキストエディタなどで開いてから別名保存する際に
半角「"」で前後を「".htaccess"」と括って保存することで、ファイル名を
“.htaccess”することができます。

ちなみに、Movable Typep備忘録に記載されている、テンプレートのままで出力すると、
変更前のURLが出力されるので、それはそれで便利です。
(こんな感じ)

Redirect permanent http://marqueemoon.info/index.html http://marqueemoon.info/index.php

私はこれもインデックステンプレートとし、“before.txt”として
出力し、ダウンロードしました。

(3)php化作業

まず、メインページからphp化します。

「インデックステンプレート」の「メインページ」を開いて、xml宣言の部分

<?xml version="1.0" encoding="<$MTPublishCharset$>"?>

<?php echo('<?xml version="1.0" encoding="<$MTPublishCharset$>"?>') ?>

に変えます。

これは、xml宣言がhtmlのままだと、ページが正しく出力されないからです。

インデックステンプレートの「メインページ」の「テンプレートの設定」で
「出力ファイル名」を“index.html”から“index.php”に変更して

メインページの設定

「保存と再構築」をします。

FTPソフトでサーバーを確認すると、“index.php”が出力されてます。
それから、メインページのURL(index.php)を開いて、
表示などに問題がないか、確認します。

問題なし。

次に、いよいよ全ページをphp化します。

ブログの「設定」メニューの「公開」を選んで、
「アーカイブオプション」の部分を“html”から、“php”に変えます。
(画像の赤で囲っている部分です)

公開の設定

テンプレートにもどると、「アーカイブテンプレート」の全ての出力ファイル名の
拡張子が“php”になっているのが確認できます。

ここで、今回は、個別エントリーの出力ファイル名を、
Movable Typep備忘録にならって、投稿日時でファイル名を割り当てることにしました。

アーカイブテンプレートの「ブログ記事」の「テンプレート設定」を開いて
下の「アーカイブマッピング」の「パス」プルダウンメニューから
「カスタム」を選択(わかりにくい場合はしたの画像を拡大してください。)

個別エントリの出力ファイル名設定

パスの部分が空欄になるので、そのこに

%y/%m/%d-%h%n%s%x

と入力します。

個別エントリーの出力ファイル名を、独自に設定している、
あるいは、デフォルトのままにする場合は、上の“htaccess”テンプレートの
「# 各エントリをリダイレクトする場合」の

<MTEntryDate format="%Y/%m/%d-%H%M%S"$>.php

の「"%Y/%m/%d-%H%M%S"」部分をその設定にかえる必要があります。

それから、各アーカイブテンプレートも「メインページ」同様に、xml宣言を

<?php echo('<?xml version="1.0" encoding="<$MTPublishCharset$>"?>') ?>

に書き換えます。

最後に、「インデックステンプレート」の「アーカイブインデックス」の
「テンプレート設定」を開き、「出力ファイル名」を“archives.html”から
“archives.php”に変更、xml宣言を、「メインページ」や
各アーカイブサイトテンプレートと同様に書き換え、全体の再構築を実行します。

おお!再構築の時間が早い、以前は20分以上かかっていたのが、
11分前後で再構築できました。さすがphp!

ここで、php出力されたページを開いて動作を確認。

問題なし。

以外にあっけなくphp化まではできました。

(4)リダイレクトの有効化

次に、リダイレクトを有効化するために、先にダウンロードした“htaccess.txt”を
“.htaccess”としてサーバーにアップロード。
※php化して再構築した際に、サーバーに“htaccess.txt”が
生成されているが、それは使わないこと。

ここで、以前のURLをひとつづつたたいて、正しくリダイレクトされるかを確認します。
(ここで、先に出力し、ダウンロードした“before.txt”が活躍します。)

インデックスページ⇒OK!
各エントリー⇒OK!

しかし、各カテゴリー、月別、日別アーカイブのインデックスページが
リダイレクトされない!!!

Firefoxで確認すると次のような画面がでます。

ブラウザエラー画面

うーむ、「自動転送がループしてる」ってどういうことだ!!!???

アドレスバーを見るとこんなことに。

ブラウザエラーアドレスバー

.htaccessの記述をいろいろと変えてみるもののまったく、状況はかわらず、
とりあえす、.htaccessの知識がまったくない私としては、
参考にしていた、Movable Typep備忘録の
「MovableTypeで楽にリダイレクトする」という
記事にコメントをしてアドバイスを請うことに・・・

ここまでに、丸1日、時刻はすでに明け方・・・

解決策が見つからず、途方にくれていた私は、疲れ果て寝てしました。
結局こうして、サイトが無事リニューアルされたので、結果的には解決したのですが、
その顛末については、次回「解決編」で話すことにします。

コメント:0

コメントを投稿するにはログインしてください。

トラックバック:0

この記事のトラックバック URL
http://marqueemoon.info/archives/2009/03/06-004844.php/trackback
トラックバックの送信元リスト
ブログ補完計画(1)PHP化前編(うぅ~。) - *Marquee Moon より

ホーム > Diary | Movable Type > ブログ補完計画(1)PHP化前編(うぅ~。)

最近の投稿
Tag cloud
最近のコメント
アーカイブ

ページの上部に戻る