0

我已经用了 3 个多小时来寻找有效的浏览器缓存功能。我已经尝试了 20 多个 HTaccess 脚本,其中一半导致 500 错误。然而,通过 PageSpeed 和 GTMetrix,他们仍然喊我应该使用浏览器缓存,这意味着 HTaccess 规则被忽略或不起作用。

通过说我已经尝试了 20 多个脚本,我想我可以说其中至少有一个在工作,但是由于 Google 和 GTMetrix 说没有浏览器缓存,所以 .htaccess 中的脚本被忽略了。

所以我真的很想知道它可能是什么。可能是服务器相关的问题?我正在运行Ubuntu 12.04

也许没有加载特定的 php mod。因为在你总是写的代码中<ifModule mod_expires.c>我想,也许我需要 mod_expires。所以我用下面的代码创建了一个 php 文件

<?php
    print_r(apache_get_modules());
?>

查看是否启用了 mod_expires .. 但事实并非如此。启用了 24 个模组,但未过期。

对于那些感兴趣的人,这些是启用的模组,通过上面的脚本打印

Array ( [0] => core [1] =>
mod_log_config [2] =>
mod_logio [3] =>
prefork [4] =>
http_core [5] => 
mod_so [6] => 
mod_alias [7] => 
mod_auth_basic [8] => 
mod_authn_file [9] => 
mod_authz_default [10] => 
mod_authz_groupfile [11] => 
mod_authz_host [12] => 
mod_authz_user [13] => 
mod_autoindex [14] => 
mod_cgi [15] => 
mod_deflate [16] => 
mod_dir [17] => 
mod_env [18] => 
mod_mime [19] => 
mod_negotiation [20] => 
mod_php5 [21] => 
mod_reqtimeout [22] => 
mod_rewrite [23] => 
mod_setenvif [24] => mod_status )

谁能告诉我 mod_expires 是否是通过 .htaccess 进行浏览器缓存的必备条件以及如何使其工作?

谢谢!

4

1 回答 1

0

回答我自己的问题:

如果您发现自己遇到所有 htaccess 脚本都无法正常工作的问题,请尝试上面的 PHP 代码(3 行)并查看 mod_expires 在您的服务器上是否处于活动状态。

如果没有:查看本教程如何启用它!:)

于 2014-04-29T11:40:32.243 回答