Ktai Style と WP Super Cache を併用する
以前、Ktai Style と WP-Cache の併用方法を紹介しましたが、WP Super Cache への対応も可能となりましたので、紹介いたします。
基本的には、WP Super Cache が生成する .htaccess で携帯電話のユーザーエージェントを除外させ、変数 $super_cache_enabled を false にすれば OK です。原理としては WP-Cache と同じなのですが、.htaccess にユーザーエージェントを書いてしまっているので、将来、対応する端末が増えたときは、ユーザーが手動で .htaccess を更新する必要があるのが注意点です。WP-Cache の方はメンテナンス不要なのですが……。
ダウンロード: patch-wpcache.php
今回、wpcache.php を patch-wpcache.php に名称変更し、CVS からダウンロードしてもらうことにしました。設置方法は WP-Cache とほぼ同様です。
- wp-cache-config-sanple.php を複製して wp-cache-config.php を作り、46 行目 ($cache_rejected_user_agent を定義した直後) に以下のコードを書く。
if (file_exists(ABSPATH. 'wp-content/plugins/ktai_style/patch-wpcache.php')) { include ABSPATH. 'wp-content/plugins/ktai_style/patch-wpcache.php'; } - wp-cache-config.php を wp-config/ 直下に置き、WP Super Cache を有効にする。
- WP Super Cache で .htaccess の書き換えを行い、さらに手動で以下のコードを2か所ある RewriteRule の直前に挿入します。
RewriteCond %{HTTP_USER_AGENT} !^(DoCoMo/|J-PHONE/|J-EMULATOR/|Vodafone/|MOT(EMULATOR)?-|SoftBank/|[VS]emulator/|KDDI-|UP\.Browser/|emobile/|Nokia) RewriteCond %{HTTP_USER_AGENT} !(DDIPOCKET;|WILLCOM;|Opera\ Mini|Windows\ CE;|PlayStation\ Portable;|Nitro) - ログアウト状態、かつ、クッキーを削除した状態の PC で閲覧して、リロードしたとき、ソースの末尾に “super cache” の表示があることを確認する (WP Super Cache の動作確認)
- 携帯電話で同じページを閲覧して、携帯向け表示になっていることを確認する。PC 表示だったり文字化けしていたら失敗です。
- 再度 PC で同じページを見て、携帯向け表示になってないことを確認する (携帯ページがキャッシュされてないかの確認)。
携帯向け表示の確認は、Firefox で UserAgentSwitcher を使ってしまうと、ブラウザーのキャッシュに携帯向けページが残ってしまい、再度 PC で見たときの確認がうまくいきません。電話の実機で行うことをおすすめします。
.htaccess で携帯電話のユーザーエージェントを検出すればいいことは分かっていたのですが、Super Cache の確認環境がうまく動作せず、確認していませんでした。今回、対応にチャレンジされた方がおられたため、重い腰を上げて環境を整え、対応させることにしました。ポイントとしては、.htaccess ではスペースをバックスラッシュでエスケープする必要があることでしょうか。これに気がつかないと HTTP 500 エラーになります。


