MovableType3.2にバージョンアップしてから発生していた、エントリーが作成されない件。
どうやら、原因がわかってきました。
これまで、あちこちのサイトにかかれていた500エラーになるのとは別件のようです。
エントリーが表示されないので、エントリーアーカイブ自体はエラーで表示されますが、エントリーの作成時にはエラーにはなってなかったので。
エントリーがちゃんと作成されない要因がやっとわかりました。
まぁ、偶発的にわかったんだけれども。
どうやら、アーカイブ・マッピングの出力フォーマットの設定で、エントリーの作成が途中で止まってしまうみたいです。
おそらく、うちの設定が特殊なんで、他で頻発するようなものではないと思うんですが。
実は、MovableType 3.17からバージョンアップ時の日付アーカイブの設定は以下のようになっていました。
一応、3.2のフォーマットに直してはあったんですが、最後が”/”で終わっています。これがいけなかったようです。
この状態で、月別や日別のアーカイブを作成すると、通常はエラーになります。
しかし、うちでは個別アーカイブ以外のアーカイブはダイナミックパブリッシングを使っていた為、エントリー作成時にはエラーは発生しません。ですが、裏では個別エントリーを作成した後に、一時ディレクトリーから本来のディレクトリーにファイル名を置き換えなければならないのですが、それが行なわれずに終わっていました。
うちでは、個別アーカイブは、このような階層になっています。
2006/01/23/2158-004215.html
エントリーを作成するときには一旦、
2006/01.static/23.static/2158-004215.html
といった場所に作られます。本来であれば、”.static”を外した名前にリネームされて個別アーカイブの構築が終わるのですが、それが途中で終わっていた為に、作成されたエントリーが見えない状態にありました。
アーカイブ・マッピングの出力フォーマットを以下のように変えたら、問題が解決しました。
index.htmlがないといけなかったようです。MT3.17のときは、”/”で終わっていた場合は、勝手にindex.htmlと解釈してくれたのですが、MT3.2では指定しないといけないようです。
これをバグって言われたら、仕様が変わりましたで済まされそうな感じもしますね。
関連項目
・エントリーが作成されない件
。エントリーが作成されない件 その2