【问题标题】:how to cache my website?如何缓存我的网站?
【发布时间】:2014-04-16 20:10:32
【问题描述】:

早上,

我对缓存网站没有几个问题,因为我之前没有尝试过缓存网站。 首先是如何缓存站点,以便在客户端浏览站点时加载速度更快。例如,我的 css 样式中有很多图像,如何缓存它?从我在 php 中缓存之前读到的内容是通过“head”标签完成的,并且缓存也可以在 .htaccess 中完成(很高兴我正在使用 htaccess ^_^)。

我在标题中添加了这个标签

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta http-equiv="expires" content="-1">
<meta http-equiv="pragma" content="no-cache">//or content="cache"???

这也是我的 htaccess 中的内容:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

</IfModule>

<IfModule !mod_rewrite.c>    
    ErrorDocument 404 /index.php
</IfModule>

先谢谢了,会经常光顾的,我真的很想学习如何缓存:)..

【问题讨论】:

    标签: apache .htaccess codeigniter caching header


    【解决方案1】:

    由于图像和其他媒体文件不被 php 处理,这与您使用的网络服务器更相关,因此您可能需要检查 serverfault.com 或至少更改网络的 php 标签-您正在使用的服务器。

    回答您的问题;我不知道 .htaccess 文件中的语法是否相同,但在我的 apache httpd.conf 文件中,我使用以下内容告诉访问者浏览器将图像缓存 20 周(12096000 秒):

    # Set up caching on media files for 20 weeks
    <FilesMatch "\.(jpg|png|jpeg|gif)$">
    ExpiresDefault A12096000
    Header append Cache-Control "public"
    </FilesMatch>
    

    【讨论】:

    • 感谢@jeroen 的回复。我应该将此问题移至服务器故障吗?关于 httpd.conf 的问题,如果该站点是在客户端服务器中上传的,那么我必须将此语法放到他们的 httpd.conf 中。正确的?嗯,还有其他方法吗?
    • @Wondering Coder 我还没有尝试过,但您可以轻松检查此块是否也适用于.htaccess 文件。使用 pagespeed 扩展,您可以检查浏览器是否收到正确的标题/过期时间。
    • 试图在谷歌中使用速度测试,但它们与我正在使用的谷歌存在冲突。目前我正在使用 google beta 频道,为了让 google 的速度测试正常工作,我必须使用他们的开发频道 chrome。你有没有速度测试@jeroen?
    • @Wondering Coder 我在 Firefox 中使用 pagespeed 扩展(带有 Firebug...)。
    猜你喜欢
    • 2011-08-09
    • 1970-01-01
    • 2016-06-24
    • 2020-03-29
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多