Apacheの設定終了後に「http://サーバのIPアドレス/」にアクセスしたときに下図の様な文字化けが最後に出た。
このときに確認して対処したこと。
これを解決しないとphpMyAdminやphpPgAdminで「display:none」になってしまい、ページが表示されない。
AddDefaultCharsetの設定
文字化けで検索するとDefaultCharsetを「サーバのディフォルト」にすると解決するなど記載があったので試してみた。
ただし、解決はしなかった。
httpd.confに下記を追加
AddDefaultCharset UTF-8
#vi /usr/local/etc/apache22/httpd.conf⏎ ←httpd.confをvimで開く
↓以下の情報を半角英数で設定する
AddDefaultCharset UTF-8 ←保存して閉じる#/usr/local/etc/rc.d/apache22 restart⏎ ←Apacheの再起動
AddDefaultCharset UTF-8はディテクティブ外に記載した。
mod_deflateの無効化
下記のサイトを参考にして「gzip圧縮」が有効になっていないか確認したところバイナリエディタでも下図の通り、「1f 8b 08 00」が表示されていてmod_deflateが原因ようようだったので無効にした。
(一般公開していないテスト用のサーバのためあえて圧縮は不要のため)
最終的にこの方法で解決した。
httpd.confに下記をコメントアウト
LoadModule deflate_module libexec/apache22/mod_deflate.so
#vi /usr/local/etc/apache22/httpd.conf⏎ ←httpd.confをvimで開く
↓以下コメントアウトにする
#LoadModule deflate_module libexec/apache22/mod_deflate.so ←保存して閉じる#/usr/local/etc/rc.d/apache22 restart⏎ ←Apacheの再起動
mod_deflateの設定は下記が参考になる。
時間があるときに細かく設定したい。
YSlow対策でmod_deflateを利用してHTTPレスポンスをgzip圧縮
2年ほど前から、MAC mini Serverから、FreeBSDサーバに移ったのですが、同様の問題にあたり、なかなか解決できず、あきらめておりました。たまたま、本サイトを拝見し、解決をすることができました。ありがとうございます!
返信削除お役に立ててよかったです。
削除公開した甲斐がありました。