人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【nginx】スマホからのアクセスはキャッシュを別にしたい

お世話になります。
nginx + PHP-FPM + CentOS + Wordpress + レスポンシブデザインでWebサイトを構築しています。

キャッシュ機能を利用したく、以下のサイトを参考に設定を行いました。
http://server-setting.info/centos/nginx-fastcgi-cache.html
http://server-setting.info/centos/nginx-cache-mobile.html

結果、PC用の表示はキャッシュできたのですが、スマホからアクセスした際もPC用の表示となってしまいます(基本レスポンシブなのですが、細かな部分でPC/スマホを分けているため、同じ表示では不都合がございます)。

実際には、最初のURL中のコード、93?121行目(切り分けをすると、114?116行目っぽい)を入れると、スマホからのアクセスが404になってしまい、外すとスマホからもPC用が表示される状態です。

1:スマホからのアクセスはキャッシュを別にしたい
2:難しければ、スマホからのアクセスはキャッシュを表示させないようにしたい

をしたいのですが、何か有用な方法はありますでしょうか。

※WP Super Cacheを利用し、Mobile Device Supportをオフにしても同じでした。


何卒よろしくお願い致します。

●質問者: cafe-beret
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

質問者から

すみません。補足ですが、キャッシュはリバースプロキシではなく、fastcgiを利用しています。
よろしくお願い致します。


1 ● pyopyopyo
●500ポイント ベストアンサー

1) fastcgi なら、設定は簡単なはずです

設定ファイルで、タイプミスなどをしていませんか?

一度、デフォルトの設定ファイルに戻して、必要最低限の設定だけを行ってみると、見落としに気がつくかもしれません。

2) 古いキャッシュが残っていませんか?

一度、キャッシュを全部消しましょう。

手順は別エントリにかいてあるようです
http://server-setting.info/centos/nginx-cache-remove2.html

3) 実際に正しくキャッシュファイルが生成されているか確認しましょう

http://server-setting.info/centos/nginx-cache-mobile.html
の後半に、キャッシュが保存されるディレクトリ名を調べる方法が書いてあります

この手順でディレクトリ名を調べて、実際にキャッシュファイルが期待通りのディレクトリに正しく生成されているか確認した方が良いとおもいます


2 ● alfa-gadget
●500ポイント

どのように実際の定義をされているのかがわかりませんが、
http://server-setting.info/centos/nginx-fastcgi-cache.html
こちらをベースにすると

set $mobilef '';

77行目の次あたりに入れる

if (...) {
 set $mobilef 'mobile.';
}

93行目以降の -- mobile ? とか -- Kei-tai ? と書かれている適切な位置に set $do_not_cache 1; の代わりに入れる。

fastcgi_cache_key "$mobilef$scheme://$host$request_uri";

129行目を置き換える。

というような感じになるはずです。
定義を確認してみてください。


cafe-beretさんのコメント
alfa-gadget様 ご回答頂きありがとうございます。 ご指摘頂いた、 set $mobilef 'mobile.'; と fastcgi_cache_key "$mobilef$scheme://$host$request_uri"; につきましては、質問内に掲載した2つ目のURL(http://server-setting.info/centos/nginx-cache-mobile.html)内に記載があり、すでにそのように設定をしております。 ご回答につき、私が読み違えていたら誠に申し訳ございません。

alfa-gadgetさんのコメント
伝わらないでしょうか。 ふたつのURLでそれぞれ書かれていることを、どのように組み合わせて定義しているのでしょうか。 順番に並べただけではだめです。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ