Page Top

Movable Type (MT) ダイナミックパブリッシング エラー 500 Internal Server Errorとページが見つかりません。

August 3, 2012

今回重い腰を上げ、本格的にMovable Type(MT)のダイナミックパブリッシングにチャレンジしようと頑張ってみました。「500 Internal Server Error」と「ページが見つかりません。」のエラーが発生し、途中でちょっとやっぱり私の環境では無理なのかな・・と思ったりしたのですが、無事にダイナミックパブリッシングが出来るようになったので、忘れないように自分用覚書です。解決法は意外と簡単だったのですが、それにたどり着くまでに2日もかかってしまいました。。

500 Internal Server Errorとその対処法

まず始めに、今回ダイナミックパブリッシングを行うにあたって、新しいデータベースとフレッシュなMovable Type(今回使ったバージョンは5.14です)を用意しました。いつものようにインストールし、ユーザー情報の設定やFirst Websiteの設定などを行いました。そして、ダイナミックパブリッシングを行うのに、ウェブサイトテンプレートの管理ページにアクセスし(左ナビのデザイン>テンプレート)、ページ右側にある「公開プロファイルを設定」をクリックし、ダイナミックパブリッシングを選択しました。そして、確認が終わると共に各アーカイブテンプレートがダイナミックパブリッシングに構築され、ウェブサイトを確認したところ、「500 Internal Server Error」が出てきました。

mt_dynamic_publishing_500.png

・エラーにおいて参考にしたMovable Typeのドキュメント

(上記のドキュメントを参照後)結局・・ってかなり話を端折ってしまうのですが、私の場合、.htaccessもちゃんと動作していたし、IISでもないし、サーバ会社さんに確認して、.htaccess の内容の修正も無かったですし、結局何が、と思ったらパーミッションの問題でした。Movable Type(MT)の管理画面で指定して作成されたウェブサイトのフォルダのパーミッションを、MTが自動で設定する「777」から「755」に変更しないといけなかったのでした。理由はサーバ会社さんの環境がsuPHPを採用していたからでした。(ちなみに、ダイナミックパブリッシングによって作成される、ウェブサイトフォルダ配下の「templates_c」というフォルダに対するパーミッション変更はせずとも動いているので、この分はMTデフォルト設定の「777」のままにしています。)

「ページが見つかりません。An error occurs.」のエラーとその対処法

次に、パーミッションを変えてサイトは無事に表示されるようになったものの、「ページが見つかりません。An error occurs.」というエラーが表示されるようになりました。しかも入れ子のエラー表示です。

mt_dynamic_publishing_error.png

これも結局話を大きく端折りますと(色々長い話があったのですが・・)、First Website 配下のブログを作成していなかったから「ページが見つかりません。An error occurs.」のエラーが発生していたのでした。なんと!!(これを見つけるのにかなりの時間がかかったのです。。)ウェブサイト配下のブログを作成して、ウェブサイトの方のダイナミックパブリッシングを再度確認したら、タラ~ン無事にサイトが表示されるようになりました!(ブログの方もウェブサイトの時と同じようにフォルダのパーミッションを「777」から「755」に変更します。)

mt_dynamic_publishing_fine.png

これで私が利用させていただいているアメリカのホスティング会社さんのシェアードサーバの環境でもMovable Type(MT)のダイナミックパブリッシングを行うことが出来るようになりました。今は、ダイナミックパブリッシングにおけるコードの書き方がスタティックパブリッシングの時とちょっと違うようなので、その確認中です。これで開発時間がかなり短縮できそうです。頑張ります。ちなみに、MTでダイナミックパブリッシングにしても、拡張子は.htmlのままでもOKなのですね。これは便利~。

最新記事