2014-02-06 3 views
3

Я пытаюсь оптимизировать мой сайт WordPress - Type & Music на основе отчетов, которые я получал от GTmetrix. Одна из вещей, которую мне рекомендуют делать, - это добавление заголовков и использование кеширования браузеров. Возможно, я ошибаюсь, но я предполагаю, что это одно и то же?Добавление Expires Заголовки и .htaccess

В любом случае, я смотрел обучающие онлайн-программы, такие как How to Add Far Future Expires Headers to Your WordPress Site и как использовать кеширование браузера в WordPress через .htaccess от Thomas Griffen Media, которые, похоже, всего лишь случай копирования и вставки (я знаю, что настройки специфичны для каждого сайта, но в зависимости от того, как регулярно вы обновляете/редактируете определенный контент и файлы), но эти настройки никогда не регистрируются вообще при повторном тестировании сайта.

Вот содержимое моего файла .htaccess:

# BEGIN WordPress 

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

## EXPIRES CACHING ## 
<IfModule mod_expires.c> 
ExpiresActive On 
ExpiresByType image/jpg "access 1 month” 
ExpiresByType image/jpeg "access 1 month” 
ExpiresByType image/gif "access 1 year" 
ExpiresByType image/png "access 1 week” 
ExpiresByType text/css "access 1 week” 
ExpiresByType application/pdf "access 1 month" 
ExpiresByType text/x-javascript "access 1 week" 
ExpiresByType application/x-shockwave-flash "access 1 month" 
ExpiresByType image/x-icon "access 1 year" 
ExpiresDefault "access 2 days" 
</IfModule> 
## EXPIRES CACHING ## 

С тех пор я установил Quick Cache плагин тоже, но насколько мне известно, что на самом деле не конфликт, особенно с настройками Мой файл htaccess не регистрируется в первую очередь.

Любая помощь будет принята с благодарностью, поскольку я ничего не нашел для себя.

ответ

3

Вот что вам нужно добавить в ваш .htaccess файл, чтобы избавиться от этой проблемы. Это весь скрипт для большинства типов файлов. Надеюсь это поможет.

<IfModule mod_expires.c> 
 
    ExpiresActive on 
 
    ExpiresDefault "access plus 1 month" 
 
    ExpiresByType image/gif "access plus 1 month" 
 
    ExpiresByType image/png "access plus 1 month" 
 
    ExpiresByType image/jpg "access plus 1 month" 
 
    ExpiresByType image/jpeg "access plus 1 month" 
 
    ExpiresByType text/html "access plus 3 days" 
 
    ExpiresByType text/xml "access plus 1 seconds" 
 
    ExpiresByType text/plain "access plus 1 seconds" 
 
    ExpiresByType application/xml "access plus 1 seconds" 
 
    ExpiresByType application/rss+xml "access plus 1 seconds" 
 
    ExpiresByType application/json "access plus 1 seconds" 
 
    ExpiresByType text/css "access plus 1 week" 
 
    ExpiresByType text/javascript "access plus 1 week" 
 
    ExpiresByType application/javascript "access plus 1 week" 
 
    ExpiresByType application/x-javascript "access plus 1 week" 
 
    ExpiresByType image/x-ico "access plus 1 year" 
 
    ExpiresByType image/x-icon "access plus 1 year" 
 
    ExpiresByType application/pdf "access plus 1 month" 
 
    <IfModule mod_headers.c> 
 
     Header unset ETag 
 
     Header unset Pragma 
 
     Header unset Last-Modified 
 
     Header append Cache-Control "public, no-transform, must-revalidate" 
 
     Header set Last-modified "Tue, 1 Oct 2014 10:10:10 GMT" 
 
    </IfModule> 
 
</IfModule>

1

Проблема связана с отсутствующими Apache2 модулей на вашем ЛАМПЫ сервере (в частности mod_headers и mod_expires). Если вы можете получить в через SSH, туда и корневой доступ через следующую команду:

sudo -i 

Затем вставьте следующее, чтобы включить Mod заголовки:

sudo a2enmod headers 

Вы тогда увидите следующее сообщение: Для того, чтобы активировать новую конфигурацию, необходимо выполнить: рестарт apache2 службы

Вставить в команду ниже, чтобы перезапустить:

service apache2 restart 

Далее вставить команду ниже, чтобы включить кэширование контента:

sudo a2enmod expires 

Restart снова с тем, что вы видите ниже, и вы будете хорошо:

service apache2 restart 

Вот и все. Все, что размещено на вашем сервере, должно теперь корректно кэшироваться. Обратите внимание, что если вы используете CDN, вам нужно будет туда поехать и указать дату будущего кеша. Если вы используете MaxCDN, вы просто переходите к зонам> Pull Zones> Settings> Cache Settings, а затем просите 12 месяцев.

Смежные вопросы