如何缓存我的网站?

时间:2012-03-14 01:50:58

标签: apache .htaccess codeigniter caching header

上午,

我对缓存网站的问题很少,因为之前我还没有尝试过缓存网站。 首先是如何缓存网站,以便在客户浏览网站时加快网站速度。例如,我的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>

在此先感谢,会经常访问,我真的很想学习如何缓存:)..

1 个答案:

答案 0 :(得分:1)

由于图像和其他媒体文件无法通过php处理,这与您正在使用的Web服务器更相关,因此您可能需要检查serverfault.com或至少更改Web的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>