MovableTypeでリンクがincludedになる問題 - 2005/08/07

主に無料版の XREA で、 MovableType のリンクが include:// となる問題についてです。 以下は MT3.171 の時の記事ですが、それ以降の MT でも同様の方法で対応可能です。
8月7日 ようやく MT3.171 にアップグレードしました。 MT3.17 が公開されたのは2ヶ月も前ですが、 特に何か困っていたのではなくて、単にサボっていただけです。 (そんなんばっかりやん)

で…、以下は、サポート掲示板に情報をあげるためのもので、 私にしては長文、かつ普段ここを読んで下さっている方には、 面白くもなんともありません。続き、読まなくていいです。


時期的には今更ですが、同様の解決法の情報が見つからなかったので簡単に。


XREA の無料アカウントなど、広告が自動挿入されるサイトで、 MovavleType3.17 以降がうまく動作しない、という問題があるようです。 具体的には、MT の管理画面の http://... が include://... になってしまう、 という現象です。

XREAのサポート掲示板で情報が見つかりましたが、 解決方法は、広告が自動挿入されないようにする、というものしか見あたりません。 しかし、試しに include:: を http:: にして URL を直接叩いてみたらアクセス出来たので、 最悪でも HTML::Template への値さえいじれば何とかなると思って見てました。 どうやら、MT が CGI モジュールの url() を使うようになったのが原因のようです。

この url メソッドは、環境変数 SERVER_PROTOCOL を参照していますが、 XREA の自動広告が挿入される場合、 この環境変数に INCLUDED が設定されています。 この問題自体は、XREA への要望フォーラムでも見つけることができましたが、 日付が2002年ですので、早急に対応される見込みはなさそうです。 環境変数の設定をこのままとすると、 以下のような解決方法が上げられます。私は CGI.pm で対応しました。
  1. CGI.pm で INCLUDED を無視する。

    extlib/CGI.pm を変更します。 →CGI モジュール用パッチ

    MTのフルパッケージに含まれている CGI モジュールを変更する方法です。 extlib を SERVER_PROTOCOL で grep したら、他に SOAP/Transport/HTTP.pm が 引っかかってきましたが、こちらはとりあえず放置しています。

  2. MovableTypeで included を http に強引に置き換える。

    lib/MT/App.pm を変更します。 →MT3.171-ja 用パッチ

    MT3.17 で CGI.pm の url() を使用するようになった箇所を変更します。 当然ながら、今後、MT のバージョンアップで App.pm が変更された場合は、 再度対応する必要があります。 また、今後、他の箇所で url() が使用された場合、同様の対応が必要です。

  3. 環境変数 SERVER_PROTOCOL が HTTP/... を返す環境で使用する。

    これがつまり、「自動広告挿入のない環境で使用する」という解決方法です。 .cgi の拡張子を .xgi とする、広告の挿入されないディレクトリに変更する、 有料アカウントを取得する、などの方法があります。

簡単ですが、ご参考になれば幸いです。

[追記]
MT 3.2 以降でも、同じ問題であれば、上記の修正で解決出来ます。 行番号等は違いますが、 該当ファイルの "SERVER_PROTOCOL" を検索して、 INCLUDED を無視するように変更を行なって下さい。 →MT3.2-ja-2 同梱のCGI モジュール用パッチ

Windows版のpatchコマンドは、 「Programmers' toolbox」 などで入手可能です。 patchコマンドを使えば、「patch -p0 < パッチファイル名」などで修正できます。
patchコマンドを使わない場合、パッチを参照しながら、該当ファイルを手で書き換えて下さい。小さな変更なので、たいしたことはありません。

Posted by kuroneko : 2005年08月07日 20:20
« お気に入りの美容院 | このBlogのトップへ | Disk Read Error »

トラックバック

このエントリーのトラックバックURL:
http://kuroneko.s28.xrea.com/blog_admin/mt-tb.cgi/232

このリストは、次のエントリーを参照しています: MovableTypeでリンクがincludedになる問題:

» Movable Type 3.2日本語版ベータ2 from たねちゃんズ12
20日に公開されましたMovable Type 3.2日本語版ベータ2を導入して... [続きを読む]

トラックバック時刻: 2005年09月22日 03:54

» XREAで新規MT3.2 from Bitlog
ようやくXREAでMT3.2のインストールが出来ました! 試行錯誤の上、無料アカ... [続きを読む]

トラックバック時刻: 2005年10月07日 17:30

» やっときたぜMT3.2。 from Zero Divide
なんかアドレスがincluded://??になっちまうからできなかったMT3.2。 ところが改めていろいろ調べてみたら、xreaの無料アカウントでもできるって情... [続きを読む]

トラックバック時刻: 2005年10月15日 23:15

» Movable Type のアップグレード 3.15 から 3.171 へ from ARQ's Weblog
Movable Type 3.15 を 3.171 にバージョンアップした. [続きを読む]

トラックバック時刻: 2006年03月06日 19:56

» 謹賀新年 from ほた医院
皆様、明けましておめでとうございます。 昨年末よりホームページを全面リニューアル... [続きを読む]

トラックバック時刻: 2007年01月03日 04:09

» このサイトの趣旨 from Movable Type(ムーバブルタイプ)の指定日投稿をXREAサーバーで設定する方法
ここではMovable Type(「ムーバブルタイプ」「MT」)をXREA(エク... [続きを読む]

トラックバック時刻: 2007年01月05日 00:08

» MTアップデート(3.151->3.33) from quirky thinking
今さらながら、Movable Typeを3.33-jaにアップデートした。 3.... [続きを読む]

トラックバック時刻: 2007年01月23日 02:46

いただいたコメント

病院詰めでネット環境が非常に悪いのですが…
「環境変数」「extlib」「grep」… 何もかもみな懐かしい。Linux使いでない、4.2bsd/SVR4時代の人間としては…
# SOAPももう懐かしいレベルになっちゃいました。:-)

Posted by 総大酒教 : 2005年08月10日 17:36

こんにちは。
xreaのページから飛んで参りました。
早速ですがお教え頂けないでしょうか。
上記パッチをどのようにして使用したらいいものか
分からずに悩んでおります。
お時間の取れたときで結構ですので、ぜひご教授
頂けないでしょうか。
よろしくお願い致します。

Posted by fanta : 2005年08月16日 00:39

該当ファイルをパッチの内容に従って変更して下さい。
それだけです。

Posted by みゃ : 2005年08月18日 00:00

無事に設置することが出来ました。
大変ありがとうございました。

Posted by fanta : 2005年08月19日 00:14

突然お邪魔いたします。
くろねこさん(みゃさん?)のおかげで、無事にインストールできました(^^)v
どうもありがとうございましたです!

トラックバックしようと思いましたが、文字化け恐怖症(笑)でコメントにさせていただきました。

Posted by ( ´A`)いしです・・・ : 2005年08月22日 20:44

くろねこさま お助けください。
xrea無料アカウントにMT3.2-ja-2でインストール続行の所でinclude://... になって前に進めません。
上記CGIモジュール用パッチのリンク先が見当たらないようなんですが、よろしくお願いします。

Posted by のり : 2006年03月18日 11:03

失礼しました。パッチを置き直しましたのでご利用ください。

Posted by くろねこ : 2006年03月18日 14:30

AAA!CAFEでもこちらのおかげでインストールできました。
ありがとうございました。

Posted by shun : 2006年03月25日 20:52

Movable typeをいざ使おうと思った矢先に色々壁に当たってしまったのですが、こちらさまの広告対処方法で1つ解決できました。
他にも色々障壁があったので私のブログに備忘録で書きましたが、こちらさまのがなければ諦めていました。
本当にどうもありがとうございました。

Posted by ほた : 2007年01月03日 04:20

land.toっていうサーバにmt4.1をインストールしようとしてこの現象に悩みましたが、こちらを読ませていただき無事解決できました(2008年でもまだ悩んでいる人はいるはず)。

ありがとうございました。

Posted by 通りすがり : 2008年04月02日 13:59

コメントしていただけると、くろねこが喜びます。




保存しますか?