Я ищу пример кода, чтобы начать экспериментировать с управлением кешем в Apache с помощью .htacces или httpd.conf.
Может ли кто-нибудь дать мне любой код, который я могу скопировать и вставить? (а потом начну настраивать самостоятельно)
скажем, я хотел
кешировать js, css, изображения на 30 дней
не кешировать мой html, так как он обновляется каждые несколько минут, поэтому
not cache anything ending in .php, .html or '/'
Я не хочу, чтобы это выглядело так, будто я прошу кого-то сделать это за меня, - я как раз после кода, с которым я могу начать возиться!
Как сказал Конерак, вы можете использовать mod_expires, чтобы включить его в оболочке:
# for ubuntu
sudo a2enmod expires
sudo service apache2 restart
# or, for other distros as root:
a2enmod expires
/etc/init.d/apache2 restart
/etc/init.d/httpd restart
вот конфигурация виртуального хоста, которая наверняка подойдет вам:
<VirtualHost *:80>
[...]
ExpiresActive On
ExpiresByType image/gif "access plus 30 days"
ExpiresByType image/jpeg "access plus 30 days"
ExpiresByType image/png "access plus 30 days"
ExpiresByType image/x-icon "access plus 30 days"
ExpiresByType image/ico "access plus 30 days"
ExpiresByType text/css "access plus 30 days"
ExpiresByType application/javascript "access plus 30 days"
ExpiresByType application/x-javascript "access plus 30 days"
ExpiresByType text/javascript "access plus 30 days"
[...]
</VirtualHost>
Все остальное не следует кэшировать.
Скрипт представляет собой отрывок из моей конфигурации для моего веб-сайта по адресу http://www.codealpha.net/ вы можете видеть, что он кэширует только изображения. (Кэш Javascript не включен.)
Документация: http://httpd.apache.org/docs/2.0/mod/mod_expires.html
использовать mod_expires из Apache. Вы должны изучить ExpiresByType.
ExpiresActive On
# expire All after a month in the client's cache
ExpiresDefault A2592000
# HTML documents are good for a week from the time they were changed
ExpiresByType text/html M604800
ExpiresByType application/javascript M604800
ExpiresByType text/javascript M604800
ExpiresByType text/css M604800
# Don't cache
<FilesMatch "\.(php)$">
ExpiresActive Off
</FilesMatch>