このサイトもそろそろ常時SSL化しなくては、ということで、
無料でSSLサーバー証明書が使えてWAFも入っている
ファーストサーバーの「Zenlogicホスティング」プランSを契約して、
さくらのレンタルサーバーから移行作業をしています。
一般的なレンタルサーバー(共用)と違い、
「Zenlogicホスティング」は仮想専用構造(VPS)のため
phpMyAdminを自分でインストールしなくてはならなかったり
(簡単インストール機能があるので簡単でしたが)
戸惑うこともありながらも、ある意味楽しみつつ進めております。
そして、何とかWordPressをインストールしてデータを移し替えながら
サイトの完成を目指している途中・・・
「メニュー」の設定をしようとして、文字化けが発生。
対策方法は、検索したらすぐに見つかりました。
要は、php.iniの設定を変更すれば良いのですが、
「Zenlogic」では、直接php.iniの編集ができないことが判明。
[blogcard url=”https://faq.zenlogic.jp/faqs/FAQ01045/” title=”php.iniファイルを編集することはできますか。” content=”「php.ini」を直接編集する機能はご用意していませんが、「.htaccess」ファイルを設置することで一部の内容やパラメータを変更することができます。”][/blogcard]
そこで、.htacsessファイルで設定することにしました。
その手順が以下のとおりです。
まず、現在の設定がどうなっているかを確認するため、
「info.php」というファイルを作成して、下記のとおり記述します。
<?php
echo __FILE__;
?>
TeraPadで作成すると、こうなります。
それをWordPressのトップと同階層にアップロードしました。
そして、https://WordPressのドメイン/info.php にアクセスしますと
このようにPHPの情報が表示されます。
今回は、mbstring.encoding_translation の設定がどうなっているかを見たいので、
ずーっと下にスクロールしていき、見つけました。
「mbstring.encoding_translation」が「On」になっていましたので、
これを「Off」にしてみます。
サーバーから「.htaccess」ファイルをダウンロードして、このように(赤枠部分)追記しました。
<Files *.php>
php_value mbstring.encoding_translation "Off"
</Files>
記述方法はコチラを参考にさせていただきました。
[blogcard url=”http://qiita.com/danpansa/items/fc114f9b558020c4c3d4″][/blogcard]
そして、修正後の.htaccessを再度サーバーへアップロード。
先ほどのPHPの情報が表示されたページをリロードすると、
ちゃんと「mbstring.encoding_translation」が「Off」になっていました。
さて、これでメニューの文字化けが直るか・・・
無事、直りました!
最後に「info.php」のファイルをサーバーから削除。
文字化け以外でも、アップロードできるファイルサイズの上限を上げたい、など
php.ini設定を変更したいケースはいろいろあると思います。
その時に、php.iniを直接触れないレンタルサーバーでも
.htaccessで設定できる方法を知っていれば、何かと便利だろうなと感じました。