我正在一个我没有从头开始编码的网站上工作,并且在 firebug 中,css 文件显示为:style.css.pagespeed.ce.5d2Z68nynm.css 和 pagespeed 扩展名。谁能告诉我这是怎么回事,因为我找不到。我猜 mod-pagespeed 可能在服务器上运行?我现在想关闭它,因为它正在缓存我的 css 并停止更新,这对于开发来说真的很烦人。
提前致谢。
阿利斯特是对的。我知道还有另外两种方法可以做到这一点。对于通过多个域共享的 .htaccess 并且您只想在单个域上禁用 PageSpeed,您可以在 .htaccess 文件的底部添加:
<IfModule pagespeed_module>
...
ModPagespeedDisallow http://www.example.com/*
</IfModule>
这意味着您可以拥有两个域,一个用于开发 (ModPagespeedDisallow),另一个用于 ModPagespeed 活动。从未尝试过,但它应该可以工作,避免访问者在开发过程中获得未优化的页面。
或者您可以将?ModPagespeed=off添加到 url,如mod_pagespeed FAQ中所述。
根据http://code.google.com/speed/page-speed/docs/using_mod.html#htaccessModPagespeed off
您可以使用 .htaccess 文件中
的行关闭模块。
最好的解决方案是拥有一个根本没有 mod_pagespeed 的非实时开发环境,或者只能在某些最终测试中添加它。
此处描述了重置缓存的另一个选项:
找出缓存文件夹在哪里,它在 ModPagespeedFileCachePath 属性下的配置文件中定义。
然后从 shell 运行以下命令:
touch <path_to_pagespeed_cache>/cache.flush
(In my case: touch /var/cache/mod_pagespeed/cache.flush)
就是这样。缓存已重置。
要禁用完整模块,请尝试在 .htaccess 文件中包含以下代码
<IfModule pagespeed_module>
ModPagespeed off
</IfModule>
要使 mod_pagespeed 立即反映对资产的更改,您可以配置 LoadFromFile:https ://developers.google.com/speed/pagespeed/module/domains#ModPagespeedLoadFromFile
这不适用于从虚拟处理程序提供的 css/js/images,但对静态内容的任何更改都将立即重新优化。除此之外,优化本身通常会更快地完成,因为从磁盘加载资产比从 http(s) 获取资产更便宜。
您可以做的另一件事是将 *mod_pagespeed* 从您的ssl.conf文件中删除。这样,您可以通过 https 访问您的站点进行开发。
我知道,这是一种 hack,但在某些需要快速更改的情况下它很方便。
GoDaddy 云 Bitnami 配置
/stack/apache2/conf/nano pagespeed.conf
关掉
如果您在 WordPress 上使用 W3C Total Cache 插件,您可以尝试通过检查模式停用和查看文件,并始终清除缓存以进行更改。
顺便说一句,在这篇旧文章中,我编写了一个 PHP 脚本来删除 pagespeed 缓存文件夹(我放置在 var/www/html 区域内)的内容,并向 Magento 管理缓存控制页面添加了一个按钮来调用它。这样,每当 Magento 缓存需要清除时,我也可以点击按钮清除 pagespeed 缓存。该脚本可以受 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.";