社長が新幹線で全裸、というなかなか破廉恥な話題を振りまいてくれた
ファーストサーバさんですが、ここのサーバにWordpressを設置する時に
遭遇した様々なトラブルをいかにして解消したかを記しておこうと思う。

1.設置したものの日本語が一切書けない

さて、普通にFTPでファーストサーバにWordpressを設置。
いつものように設定画面に進んで、管理画面が出たのですが・・・

「テスト」と名付けたサイト名がクリアされてました。
なので「Test」と再度入力したらこれは反映される。

まさか、と思って記事を日本語で投稿してみたら何も反映されない。
となるとこれは2バイト文字が通らない、って事になる。

あーそっか、なるほど。
文字コードが違うのかもと思って、.htaccessに以下の文を書いて設置するも

php_flag mbstring.encoding_translation off
php_value default_charset "UTF-8"

500エラーが出てどうにもならん。

ファーストサーバのFAQページで検索してみてもタイムアウトという体たらく。
WordPressの設置マニュアルを見てみると・・・

「PHPバージョン切り替え」画面で、「DSO版」を選択し、「実行バージョン切り替え」ボタンをクリックします。

※すでに「DSO版」が選択されている場合は変更不要です。

なるほど、確かにCGI版になっとるわ。
なのでDSO版に変更してから再度.htaccessを置くとエラーが出なくなり
無事に日本語も通るようになりました。

2.パーマリンク設定をすると全て404でNot Found

色々な設定をしつつ、テスト用の投稿をいくつか投稿したあとで
パーマリンク設定を変更すると、さっきまで機能してたリンクが全て404エラー。

・・・そういえば他のサーバでパーマリンク設定を変更したら
.htaccessが自動で更新されたり、「この文章を足せ」って画面が出るのだけれど
ファーストサーバでは一切出なかった。

恐らくこれはmod_rewriteが有効になってないせいかと思って
先ほどの.htaccessに以下の文を足して設置。

<IfModule mod_rewrite.c>
Options FollowSymLinks
RewriteEngine On
RewriteBase /cms/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /cms/index.php [L](ここで必ず改行!)

※これはWordpressの設置ディレクトリが/cms/だった場合の書き方。

なもんで、結局以下が.htaccessの全文となります。

php_flag mbstring.encoding_translation off
php_value default_charset "UTF-8"
<IfModule mod_rewrite.c>
Options FollowSymLinks
RewriteEngine On
RewriteBase /cms/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /cms/index.php [L](ここで必ず改行!)

これでようやくパーマリンクを変更しても大丈夫になりました。

  • まずはコンフィグレータでDSO版に切り替えて
  • .htaccessを設置する

という事ですな。
めんどくせえ・・・・・・