Movable Typeに「DynamicMTML」を導入する際、エックスサーバーでは再構築直後に500エラーが出て、すべてのHTMLファイルにアクセスできなくなることがあります。

この状況で、筆者が解決した方法です。

.htaccessの修正

再構築時に出力された新しい.htaccessの、下から二行目にある以下の記述を探し

php_flag short_open_tag off

半角シャープを付けてコメントアウトしてみてください。

# php_flag short_open_tag off

500エラーの原因

あくまで推測ですが、エックスサーバーでは「php_flag short_open_tag」はサーバーレベルで使用できないのではと考えられます。

エラーログには、以下のようなエラー文が書き出されています。

[ブログまでのフルパス]/.htaccess: Invalid command 'php_flag', perhaps misspelled or defined by a module not included in the server configuration

なお、php_flag short_open_tagがOnだと、PHPを

<?php 〜 ?>

だけでなく

<? 〜 ?>

でも動作させられるようになりますが、この表記はXML宣言とかぶっているためトラブルになりやすく、DynamicMTMLを導入した場合は自動的に禁止されます。

ブログと同じサイト内で、オリジナルのPHPスクリプトを設置している場合は注意してください。