title091202.jpg

無事MT4.261への移行も遅まきながら完了したところで、携帯サイトも作成してみました。

このブログの携帯サイトへは、以下よりアクセス頂けます。

携帯版のQRコードhttp://blog.caraldo.net/m/

携帯サイトの構築には有名なMTプラグインのMT4iを使用しています。

MT4iの特徴を引用すると↓

そこで作成したのが MT4i です。MT4i は、(MovableType の MT::Object を利用して)MovableType のデータベースからデータを読み込み、文字コードを Shift_JIS に変換、携帯電話向けにレイアウトして出力し、携帯電話に対応させる為のスクリプトです。言語は Perl です。
MT4i - t2o2-Wiki

便利過ぎるプラグインです。実際他の携帯変換系のプラグインも試してみたのですが、文字化けが発生したりでMT4iが一番使いがってが良いなと感じました。

MT4iプラグインのインストールから、携帯XHTML化静的HTML生成という一連のカスタマイズの流れを書き留めておきます。

長いので目次


MT4iのインストール

まずはMT4i本体をダウンロード

まずは以下ページよりMT4i本体をダウンロードします。

MT4i/3.0 - t2o2-Wiki - ダウンロード

記事執筆中の最新版はVer3.0.8でした。
この後のカスタマイズは全てこのバージョンでの話しになります。

MT4iのアップロード前の準備

基本的には公式サイトのインストールマニュアルがかなり丁寧ですので、この通りに進めていけば問題ありません。

MT4i/3.0/インストール - t2o2-Wiki - アップロード前の準備

このブログは現在ステップサーバで運用しているのですが、Perlパスに変更が必要でした。

「mt4i.cgi」及び「mt4imgr.cgi」の1行目を

#!/usr/bin/perl
↓
#!/usr/local/bin/perl

に変更しておきます。
この辺りはお使いのレンタルサーバの管理画面にログインすればどこかしらで確認出来るはずです。

MT4iのアップロード

MT4i/3.0/インストール - t2o2-Wiki - インストール手順

まずはキャッシュ用のディレクトリを作成します。
リンク先の説明にあるMT ホームディレクトリとはmt.cgiが置かれているディレクトリです。

続いてファイルをアップしていきます。

ファイル「mt4i.cgi」「mt4imgr.cgi」、ディレクトリ(フォルダ)「lib」、「tmpl」をサーバーの任意の場所にアップロード(すべて同階層に置くこと)。アップロード場所は、上記で作成した MT ホームディレクトリ直下の mt4i ディレクトリ内でなくてかまいません。
 

とあります。
アップ先はどこでも良いのですが、ここでアップロードした先が携帯サイトのURLになる点に注意が必要です。
このブログではドメイン/mという構成にしたかったので、mディレクトリを作成してその中にアップしていく形としました。
それからドメイン/mでアクセス出来る形としたいので、mt4i.cgiをindex.cgiにリネームしています。

cgiのパーミッションはMTインストール時にmt関連cgiを変更した値と合わせています。
これが一番問題無さそうだったので。

次項のブラウザからのアクセスチェックでエラーが出る場合、パーミッションの問題が一番考えられると思います。適宜見直して下さい。

MT4i Managerから設定編集

必須設定項目を設定します。

・MT_DIRの設定

MTホームディレクトリをお使いの環境に合わせて修正します。
私の環境では以下の様な形式となりました。

/export/usr/home/<$USERNAME$>/blog.caraldo.net/public_html/mt/

ここも良く分からない方はMTの管理画面の設定部分や、お使いのレンタルサーバの管理画面とにらめっこすると良いと思います。

・MyNameの設定

MT4i本体のファイル名(index.cgiなどに変更したい人用)を変更します。
項目名に入っている通りindex.cgiを設定します。

設定が完了して保存すると、貴方のブログの携帯サイトが完成しているはずですのでアクセスチェックしてみて下さい。

ここまででインストール作業は完了です。他の設定についてはwikiを参照して下さい。


携帯サイトをXHTML化

ここまでで一応閲覧出来る携帯サイトは完成しているのですが、やはりデザインをいじりたい。
という事でデザインの幅を持たせるという意味でもXHTML化していきたいと思います。

XHTML化する事によって出来る事は携帯サイト[xhtml]のコーディング前のチェックポイント │ これからゆっくり考L +α等が分かりやすいかと思います。

XHTML化するには以下サイトで紹介されているテンプレートファイルに差し替えを行います。

MTのケータイ向け変換プログラム「MT4i」のXHTML対応改変版を公開します | [M] mbdb

MT4i3.0.8X1をダウンロードして、mt4i.cgiをindex.cgiにリネームします。
この際にアップロード前準備でPerlパスを#!/usr/local/bin/perlに変更した方は再度変更する事を忘れないように!!

あとは紹介先にある通り、ファイル群をアップロードしてあげれば完了です。
cgiのパーミッションに気をつけて下さい。

ここまでで、携帯サイトXHTML化が完了です。
あとはちょこちょこテンプレートをいじって行かなければいけないですけどね。


動的URLから静的URLへの変更

少し気になるのがURLの書式です。折角MTでは静的なURLを吐き出してくれるのにMT4iでは動的なURLになってしまいます。

標準では

http://example.com/index.cgi?mode=$mode&eid=$eid

みたいなURLですね。

これを

http://example.com/$mode_$eid.html

という形でアクセス出来るようにしたいと思います。

この変更を行うにはお使いのサーバでApacheの設定が出来るか.htaccessを使用できる必要があります。

.htaccessを使用してmod_rewrite

本来はApacheの設定で行うべき部分なのですが、レンタルサーバなのでそこまでいじれません。
代用として.htaccessでmod_rewriteモジュールを使用します。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /m/
RewriteRule ^(.*)_([0-9]+)\.html$ index.cgi?mode=$1&eid=$2 [QSA,L] 
</IfModule>

これが何やってるかというと、それだけで1記事分位になりそうなので、今回は割愛させて頂きます。

この設定をtest.txtとかに保存してあげてmディレクトリにアップロード、アップロード後.htaccessにリネームしてあげます。.htaccessのパーミッションとしてレンタルサーバ側で推奨されている値がある場合は適宜変更してあげます。

このファイルのアップが完了すると指定した、$mode_$eid.htmlという書式でアクセス出来るはずです。

http://blog.caraldo.net/m/index.cgi?mode=individual&eid=169
↓これでアクセス!
http://blog.caraldo.net/m/individual_169.html

index.cgiのリンク先書式変更

無事に静的URLでアクセスできる事が確認出来たところで、静的URLでアクセス出来る様にindex.cgiを修正してあげます。
バックアップは必ず取っておいて下さい。

修正箇所は

368行目
$row_data{ENTRY_LINK_URL} = $href;
↓
$row_data{ENTRY_LINK_URL} = "individual_".$entry->id.".html";
843行目
? '' : "$href&sprtpage=$i&sprtbyte=$sprtbyte";
↓
? '' : "individual_".$eid.".html"."?sprtpage=$i&sprtbyte=$sprtbyte";
1029行目
$template->param(NEXT_URL => $href);
↓
$template->param(NEXT_URL => "individual_".$nextid.".html");
1035行目
$template->param(PREV_URL => $href);
↓
$template->param(PREV_URL => "individual_".$previd.".html");
1277行目
$template->param(BACK_URL => $href);
↓
$template->param(BACK_URL => "individual_".$entry->id.".html");
1936行目
$template->param(BACK_URL => $href);
↓
$template->param(BACK_URL => "individual_".$entry->id.".html");
2283行目
$template->param(BACK_URL => $href);
↓
$template->param(BACK_URL => "individual_".$entry->id.".html");

上記修正が必要です。(多分これで全部。。)

ページ分割している際に1ページ目以降からコメント系に遷移した際、戻る系のリンクが1ページ目になってしまうのは仕様ですw(あんまよく分からなかったので、動的URLが露出して重複コンテンツにならない事を重要視しています)

カテゴリの部分等、全てを静的URL化している訳ではないのですが、この位でひとまず運用して行こうと思っています。

ここに書いてある内容で質問等ありましたら是非コメント下さい。
さて、デザインの変更に入らなければC= C= C= ┌(;・_・)┘トコトコ


このエントリーのトラックバックURL:

コメント

(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)




太字 イタリック アンダーライン ハイパーリンク 引用

caraldo_K

Webディレクター的な事やってます!
iPhone楽しい!マラソン・ロードバイクで肉体改造計画中!でも一番好きなのは漫画です㌰㌰⋋( 'Θ')⋌㌰㌰

poooooon

最近ロードバイクで峠を登りきれず涙をのんだ。トレーニングの為、明日から走る!と毎日誓う。PCとiPhoneとねこがいないと生きていけない社会人。

Our tweets
Loading..

あわせて読みたいブログパーツ

POWERED BY MT4