2009-07-25 3 views
0

Quelle est la meilleure façon d'utiliser CakePHP pour contrôler les en-têtes Expires pour les fichiers image et CSS?CakePHP contrôle de cache pour les fichiers d'actifs (images, CSS, etc)

Mon hôte ne prend malheureusement pas en charge mod_expires ou mod_headers, donc je ne peux pas simplement définir ces valeurs dans un fichier .htaccess. À l'heure actuelle, il n'y a pas de contrôle de cache pour mes fichiers et beaucoup de demandes inutiles sont faites.

Quelle est la manière la plus élégante de canaliser les demandes de fichiers d'actifs via Cake et de définir les en-têtes appropriés via header()?

Répondre

1

Je crois que la meilleure, pas façon même nécessairement spécifique à gâteau, est de créer un script dans /webroot qui ajoute les en-têtes, puis utilisez .htaccess directives aux demandes de tuyaux pour ./css/* et ./img/* à travers ce fichier. J'espérais juste qu'il y aurait déjà une fonctionnalité comme celle-ci dans Cake. :)

0

Je suggérerais d'écrire une aide qui prend le nom de fichier, puis renvoie une URL à un script PHP qui récupère le fichier et ajoute l'en-tête nécessaire. Vous pouvez voir un exemple d'une aide de base ici: http://bakery.cakephp.org/articles/view/image-resize-helper

+0

L'étape supplémentaire avec l'assistant semble assez inutile, merci pour la réponse de toute façon. :) – deceze

+0

La raison de l'aide est que vous n'avez pas à réécrire manuellement toutes vos URL lors de la sortie de vos actifs. Si cela ne vous dérange pas de le faire, alors vous pouvez certainement écrire un script PHP qui écrit les en-têtes et ensuite inclure ce script lors du référencement d'un asset en utilisant CakePHP. –

Questions connexes