W3 Total Cahceを利用していてWPtouchが有効にならない時の対処方法
こんにちは、@9ensanです。
WordPressでスマホ用のテンプレートを表示させる為に「WPtouch」というプラグインを利用しています。
今日確認したら、これが上手く動作していませんでした。
なぜ上手く動いてなかったのか、理由を調べてみたら「W3 Total Cache」というキャッシュプラグインの設定を変更したのが原因ということが判明しました。
「W3 Total Cache」で「WPtouch」を有効にする為には、スマホからのアクセス時にキャッシュを無効にするのが通常の手段です。
Webサーバーの設定ファイルを確認したら、そのキャッシュを無効にする設定がうまく反映されていませんでした。
以下、修正方法と、WPtouchを有効にする設定です。
修正方法
WordPessのダッシュボードに入り「Performance」の「General Settings」を選択します。
開いたページの、「Page Cache」欄の「Page cache method」を「Disk: Enhanced」に変更します。
変更したら、「Save all settings」ボタンを押下します。
これで、キャッシュを無効にする為の設定が、Webサーバーの設定ファイルに反映されるようになります。
WPtouch用の設定
WPtouchを利用しようとした場合、「W3 Total Cache」では別の設定が必要です。
「Performance」の「User Agent Groups」のメニューを開きます。
表示されたページに2つの「User Agent Group」を2つ作成します。
1つ目
acer\ s100 android archos5 blackberry9500 blackberry9530 blackberry9550 blackberry\ 9800 cupcake docomo\ ht\-03a dream htc\ hero htc\ magic htc_dream htc_magic incognito ipad iphone ipod kindle lg\-gw620 liquid\ build maemo mot\-mb200 mot\-mb300 nexus\ one opera\ mini samsung\-s8000 series60.*webkit series60/5\.0 sonyericssone10 sonyericssonu20 sonyericssonx10 t\-mobile\ mytouch\ 3g t\-mobile\ opal tattoo webmate webos
2つ目
240x320 2\.0\ mmp \bppc\b alcatel amoi asus au\-mic audiovox avantgo benq bird blackberry blazer cdm cellphone danger ddipocket docomo dopod elaine/3\.0 ericsson eudoraweb fly haier hiptop hp\.ipaq htc huawei i\-mobile iemobile j\-phone kddi konka kwc kyocera/wx310k lenovo lg lg/u990 lge\ vx midp midp\-2\.0 mmef20 mmp mobilephone mot\-v motorola netfront newgen newt nintendo\ ds nintendo\ wii nitro nokia novarra o2 openweb opera\ mobi opera\.mobi palm panasonic pantech pdxgw pg philips phone playstation\ portable portalmmm proxinet psp qtek sagem samsung sanyo sch sec sendo sgh sharp sharp\-tq\-gx10 small smartphone softbank sonyericsson sph symbian symbian\ os symbianos toshiba treo ts21i\-10 up\.browser up\.link uts vertu vodafone wap willcome windows\ ce windows\.ce winwap xda zte
この2つを追加してから「Save all settings」ボタンを押下して、設定を反映します。
これでスマホからのアクセスの場合にキャッシュを利用しないように設定できます。
でもなんで、「Disk: Enhanced」の場合だけしか、「User Agent Groups」の設定が有効にならないようになっているんだろう?
.
関連する記事:
- FuelPHPのキャッシュライブラリ – APC編
- FuelPHPのキャッシュライブラリ – File編
- FuelPHPのキャッシュライブラリ – config以外でストレージを設定する方法
- FuelPHPのキャッシュライブラリ – memcached編
- FuelPHPのキャッシュライブラリ – redis編
コメント 0