Кэширование страниц css, раздражающее развитие
Я работаю над сайтом, который я не могу закодировать с нуля, а в firebug файлы css отображаются как: style.css.pagespeed.ce.5d2Z68nynm.css с расширением pagespeed. Может ли кто-нибудь сказать мне, что делать, потому что я не могу его найти. Я предполагаю, что mod-pagespeed может работать на сервере? На данный момент я хочу отключить его, потому что он кэширует мой css и останавливает обновления, которые действительно раздражают для разработки.
Спасибо заранее.
Ответы
Ответ 1
Согласно http://code.google.com/speed/page-speed/docs/using_mod.html#htaccess
вы можете отключить модуль с линией ModPagespeed off
в файле .htaccess.
Лучшим решением было бы иметь неживую среду разработки, в которой вообще не было mod_pagespeed или где она могла быть добавлена только для некоторого окончательного тестирования.
Ответ 2
Алистер прав. Есть еще два пути, которые я знаю, чтобы сделать это.
С помощью .htaccess, используемого во многих доменах, и вы хотите отключить параметр PageSpeed только в одном домене, вы можете добавить к нижней части файла .htaccess:
<IfModule pagespeed_module>
...
ModPagespeedDisallow http://www.example.com/*
</IfModule>
Это означает, что у вас могут быть два домена, один для разработки (ModPagespeedDisallow) и один с активным ModPagespeed. Никогда не пробовал, но должен ли он работать, не позволяя посетителю получать страницу с оптимизацией во время разработки.
Или вы можете добавить? ModPagespeed = отключить URL-адрес, указанный в часто задаваемых параметрах mod_pagespeed.
Ответ 3
Другой вариант для сброса кеша описан здесь:
Узнайте, где находится папка кэша, определенная в файле конфигурации в свойстве ModPagespeedFileCachePath.
Затем запустите следующую команду из оболочки:
touch <path_to_pagespeed_cache>/cache.flush
(In my case: touch /var/cache/mod_pagespeed/cache.flush)
Что это. Кэш был reset.
Ответ 4
Чтобы отключить полный модуль, попробуйте использовать следующий код в файле .htaccess
<IfModule pagespeed_module>
ModPagespeed off
</IfModule>
Ответ 5
Чтобы mod_pagespeed сразу отражал изменения в активах, вы можете настроить LoadFromFile: https://developers.google.com/speed/pagespeed/module/domains#ModPagespeedLoadFromFile
Это не будет работать для css/js/изображений, обслуживаемых виртуальными обработчиками, но любые изменения в статическом содержимом будут немедленно оптимизированы. В дополнение к этому, сама оптимизация, как правило, будет завершена намного быстрее, потому что загрузка активов с диска дешевле, чем извлечение их из http (s).
Ответ 6
Еще одна вещь, которую вы можете сделать, - оставить * mod_pagespeed * из вашего файла ssl.conf. Таким образом, вы можете получить доступ к своему сайту через https для разработки.
Вид хака, я знаю, но он удобен в некоторых случаях, когда вам нужно делать очень быстрые изменения.
Ответ 7
GoDaddy Cloud Bitnami Config
/stack/apache2/conf/nano pagespeed.conf
Отключить
Ответ 8
Если вы используете плагин W3C Total Cache в WordPress, вы можете попробовать это, чтобы деактивировать и просмотреть файл в режиме проверки и всегда очищать кеш для изменений.
Ответ 9
Как и в стороне, на этом старом посту я написал PHP script, чтобы удалить содержимое папок кэша страниц (которое я разместил в области var/www/html) и добавил кнопку в Magento admin страницу управления кешем, чтобы вызвать его. Таким образом, всякий раз, когда кэш Magento нуждается в очистке, я также могу нажать кнопку, чтобы очистить кеш страниц. script может быть ограничен IP и администратором. Это экономит много шума. Вы можете использовать функцию рекурсивного удаления, подобную этой ( осторожно с вашими путями!:)):
function fullDeleteFolder($dir) {
echo "Remove: ".$dir."<br>";
if (is_dir($dir)) {
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object != "." && $object != "..") {
if (is_dir($dir."/".$object)){
fullDeleteFolder($dir."/".$object);
}else{
unlink($dir."/".$object);
}
}
}
rmdir($dir);
}
}
$location = "[some-location]/mpcache/mod_pagespeed";
fullDeleteFolder($location);
//might also want to do this for the 'media/css_secure' folder too, if your site is on https
echo "Finished.";