Назад | Перейти на главную страницу

какие настройки кеша вы мне порекомендовали бы?

Я ищу пример кода, чтобы начать экспериментировать с управлением кешем в 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>