としっぴーず

旅行やミュージカル、Wordpress等のITネタ中心のブログ

Nginx+php-fpm+WordPressでPCとスマホのキャッシュを分ける方法

   

WordPressをNginx上でキャッシュしていて、PCとモバイルとでページを出し分けている場合は、キャッシュファイルも別々に作成する必要があります。割と簡単にスマートに対応する方法の覚え書きです。

環境

  • Nginx 1.8.0
  • php-fpm 5.6
  • wordpress 4.4.1

Nginxの設定変更

UAでスマホかどうか判定して、変数$mobileをセットするコードです。これをserverディレクティブなどに追加します。

続いて、キャッシュファイルのキーに変数$mobileを追加します。

さらに、変数$mobileをFastCGIサーバーに渡します。

WordPressでの判別

wordpress側では、$_SERVIER['HTTP_X_UA_MOBILE']で取得できます。例えばfunction.phpに以下の関数を追加して使用します。

 

以上っ!

参考
  • https://ja.wordpress.org/plugins/nginx-mobile-theme/

 - Nginx, WordPress