長年使ってきたXOOPSを捨て、WordPressへの移行を着々と進めています。
しかし、XOOPSを始めたとき同様、なかなか初めはうまくいかないものです。
まず、作成したフォルダーにWordPressのコードを流し込んで困ったのが、
トップページ上部に出るエラー
Warning: Invalid argument supplied for foreach() in ○○○/wp-includes/class-wp-admin-bar.php on line 362
というエラー。
グーグルを使って検索したところ、コンフィグファイル(wp-config.php)冒頭に次の1行を加えることで解決。
ini_set(‘zend.ze1_compatibility_mode’, 0);
(参照元:http://wordpress.org/support/topic/invalid-argument-error-after-installation)
次に、テーマファイル・プラグイン等を管理画面よりFTPでダウンロードしようと発生するエラー
「ダウンロードに失敗しました。 ファイルストリーミングの送り先となるディレクトリが存在しないか、書き込み不可になっています。」
これは、私が使用しているCoreserverやXreaサーバーなどでは、PHPがセーフモードで動作するから、ということらしい。
ということで、.htaccessファイルを置くことで解決しました。
「ルートフォルダ」に以下の内容の.htaccessをアップロードします。
ルートフォルダ用
AddHandler application/x-httpd-phpcgi .php
<files load-styles.php>
AddHandler application/x-httpd-php .php
</files>
ルートフォルダは大抵.htaccessがない場合が多いので、ファイルを作成してアップロードしてください。
また、これだけでは、ブログ記事を投稿(管理画面経由で)した際にもうまく動作せず、ブログ記事が文字化けもしくは空白で投稿に失敗してしまいます。
同じく管理画面でもセーフモードでの動作回避の対策が必要です
「wp-adminフォルダ」にも内容の.htaccessをアップロードします。
「wp-adminフォルダ」用
<files async-upload.php>
AddHandler application/x-httpd-phpcgi .php
</files>
<files admin.php>
AddHandler application/x-httpd-phpcgi .php
</files>
<files update.php>
AddHandler application/x-httpd-phpcgi .php
</files>
<files upgrade.php>
AddHandler application/x-httpd-phpcgi .php
</files>
<files plugin-install.php>
AddHandler application/x-httpd-phpcgi .php
</files>
<files update-core.php>
AddHandler application/x-httpd-phpcgi .php
</files>
<files plugins.php>
AddHandler application/x-httpd-phpcgi .php
</files>
<files themes.php>
AddHandler application/x-httpd-phpcgi .php
</files>
「wp-admin」フォルダには元々.htaccessファイルがないと思いますので、上記コードを.htaccessとして新たに作成して保存、アップロードして下さい。
.htaccessの最後は必ず改行して保存してください。
以上、2つの.htaccessを追加する事でうまく動作するようになると思います。