MT5 beta 3が出たので入れてみたんだけど、phpダイナミックパブリッシングが動かない。beta 2までは動いていたのに。
バージョンアップのときに、ウェブサイトを自動的に作成する。
ブログの公開パス(サイトURL、サイトパス)設定と、サブドメインの指定に関連する管理画面の内容を変更する。
ブログのサイトパスに、/(またはC:¥など)から始まるパスを書けばそれを絶対パスとして認識するようにした。
これがあやしい。
まだMT5のサイトの概念を理解していないんだけど、ようするに既存のブログを管理している状態でMT5を入れると勝手にサイトを作られ、既存のブログがその階層下に配置されるっぽい。
で、このブログのサイトパスが、親のサイトのパス + ブログのパスのように相対パスにするっぽい。でもブログのパスが絶対パスなら、相対パスにしないように動かしたいって感じ。
サイト (path=/home/makoto_kw/public_html)
– ブログ (path=blog)
これだとブログのパスは ‘/home/makoto_kw/public_html’ + ‘/’ + ‘blog’ になると。
で、まず実際に動かしてみるとサイトの状態はこんな感じになった。
サイト (path=/home/makoto_kw/public_html)
– ブログ (path=/home/makoto_kw/public_html)
勝手につくられたサイトのパスはブログのパスがそのまま入った。で、これは絶対パスなのでそのまま扱ってもらいたい。
でも、ページを出力してダイナミックパブリッシングで動的に表示しようとすると/home/makoto_kw/public_html/home/makoto_kw/public_htmlにファイルをつくろうとしやがる。絶対パス判定ができていない。
apache様に/home/makoto_kw/public_html/home/makoto_kw/public_htmlを作成する権限がないので動かない。
なおしました。/php/lib/class.mt_blog.phpの65,66行目がfunction site_path()がおかしいです。
if ( $this->is_site_path_absolute ) return $site;
は以下にすべきです。
if ( $this->is_site_path_absolute() ) return $this->blog_site_path;
ちゃんとダイナミックパブリッシングもテストしてほしい。。。