2011-11-13 15 views
1

私はzend static cacheを使用しているサイトを持っています。しかし、サイトではTERAWURFLライブラリを使用してモバイルデバイスを検出し、削除されたバージョンのサイトを表示します。問題は、キャッシュが通常のサイト用に作成されるため、これもモバイルデバイスに出力されることです。Zend static cache - 異なるサイトのスキン/デザイン

私の考えは、htaccessデバイス検出を使用してモバイルデバイスを検出し、要求を適切に処理することです。私のブートストラップの中で、私はモバイルデバイスをチェックし、キャッシュパスを変更します。

私の問題は、これを行う良い方法がないと思います。たとえば、キャッシュエントリを削除するには両方のキャッシュで行う必要がありますが、現在の実装ではこれを行いません。

誰かがこの種類のキャッシュをさまざまなレイアウトやデザインで実装した経験がありますか?

これはコンテンツを変更する必要がある言語にも当てはまります。

+0

あなたはZendからどのキャッシュクラスを使用していますか? –

+0

バックエンド:静的。フロントエンド:ページ。 – Ashley

+0

私はZendの静​​的なキャッシュメカニズムを使ったことがありません。私は主に、そのクラスを持たないフレームワークの(少し)古いバージョンを主に実行しています。 .htaccessルートに行く予定がある場合、これは難しいことになります。ごめんなさい。私はその間に解読と検索を続けます。がんばろう! –

答えて

0

ユーザーがモバイルデバイスにいることをWURFLが検出すると、Cookieに設定します。 (:http://framework.zend.com/manual/en/zend.cache.frontends.html#zend.cache.frontends.pageここで指定した)その後Zend_Frontend_Pageの

make_id_with_cookie_variables 

オプションを使用します。一部のモバイルデバイスはしかしクッキーをサポートしていない可能性があります:

この方法で、それはこのように、2つのバージョン(/定期WURFL-ED)

編集の競合ないページキャッシュのための新しいIDを生成します。わからない。あなたはそれを試してみることができます。

+0

静的バックエンドは、htaccessを使用してPHPとのやりとりなしでページ全体のキャッシュバージョンを提供します。したがって、これは実行可能ではありません。しかし、ありがとう – Ashley

+0

あなたは正しいです。だから、あなたはSetEnvIf User-Agent "identifier" mobile_deviceのようなものを追加して、それを後で確認するべきだと思います。しかし、絶対に必要なものではない場合は、APCまたはmemcachedを使用する代わりに静的ではなく試してみてください。 (さらに良いかもしれない) – mobius

関連する問題