2012-04-12 9 views
1

Ich habe eine PHP-basierte Webanwendung und möchte mobilen Benutzern die Möglichkeit bieten, den Inhalt meiner Website über eine spezielle Reihe von "mobilfreundlichen" Seiten anzuzeigen. Die URL-Struktur für die mobile Site unterscheidet sich von der Desktop-Site.CDN-Caching für Desktop- und mobile Websites

Die Idee ist, dass beim ersten Drücken eines mobilen Benutzers auf der Indexseite ein Regexp den Benutzeragenten überprüft und wenn es sich um ein mobiles Gerät handelt, können sie entweder die Desktopversion oder die mobile Version der Site anzeigen .

Das Problem ist, dass ich statische HTML-Caching mit meinem CDN-Anbieter (Cotendo). Dies bedeutet, dass der mobile Benutzer beim Auffüllen des Caches wahrscheinlich eine zwischengespeicherte Version der Desktop-Site sieht und die Optionsseite für mobile/Desktops umgeht. Es bedeutet auch, dass ein mobiler Benutzer mit einem leeren Cache den CDN zwingen könnte, die zwischengespeicherte Version der Optionsseite für mobile Geräte/Desktops zu speichern.

Eine Option wäre, den Benutzer-Agent auf CDN-Ebene zu überprüfen und Cache-Abruf für mobile Benutzer zu umgehen. Ein signifikanter Anteil des Traffics auf der Website wird jedoch von mobilen Nutzern verursacht, und die Bereitstellung von nicht zwischengespeicherten Inhalten für mobile Nutzer ist derzeit keine Option.

+0

Eine einfache Möglichkeit, dies zu beheben, besteht darin, dieselbe Seite mit ** Responsive Design ** zu bedienen, ** Medienabfragen ** zu verwenden. Auf diese Weise wird eine zwischengespeicherte Seite für jeden bereitgestellt, unabhängig von der Auflösung, und Sie müssen sich nicht mit unzuverlässigen Benutzern herumärgern. – rlemon

Antwort

1

Auf der CDN-Ebene können Sie einen? Mobileoption querystring für mobile Geräte hinzufügen. Zeigen Sie dann nur die Optionsseite für mobile Geräte/Desktops an, wenn diese Abfragezeichenfolge vorhanden ist.