在Apache中配置静态资源缓存可以通过修改Apache的配置文件(通常是httpd.conf
或apache2.conf
)或使用.htaccess
文件来实现。以下是一些常见的方法:
.htaccess
文件创建或编辑.htaccess
文件:
在你的网站根目录下创建一个.htaccess
文件,或者在已有的.htaccess
文件中添加以下内容。
设置缓存控制头:
使用<FilesMatch>
指令来匹配特定的文件类型,并设置缓存控制头。
<FilesMatch "\.(jpg|jpeg|png|gif|ico|css|js)$">
Header set Cache-Control "max-age=31536000, public"
</FilesMatch>
这个例子中,max-age=31536000
表示缓存时间为一年(365天 * 24小时 * 60分钟 * 60秒),public
表示资源可以被任何缓存服务器缓存。
编辑Apache配置文件:
打开你的Apache配置文件(例如httpd.conf
或apache2.conf
),通常位于/etc/apache2/
或/etc/httpd/
目录下。
添加缓存控制头:
在适当的位置(例如<Directory>
或<Location>
块中)添加以下内容:
<Directory "/var/www/html">
<FilesMatch "\.(jpg|jpeg|png|gif|ico|css|js)$">
Header set Cache-Control "max-age=31536000, public"
</FilesMatch>
</Directory>
这个例子中,/var/www/html
是你的网站根目录。
mod_expires
模块启用mod_expires
模块:
确保mod_expires
模块已启用。你可以使用以下命令启用它:
sudo a2enmod expires
编辑Apache配置文件:
打开你的Apache配置文件(例如httpd.conf
或apache2.conf
),并添加以下内容:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
</IfModule>
mod_cache
模块启用mod_cache
模块:
确保mod_cache
模块已启用。你可以使用以下命令启用它:
sudo a2enmod cache
sudo a2enmod cache_disk
编辑Apache配置文件:
打开你的Apache配置文件(例如httpd.conf
或apache2.conf
),并添加以下内容:
<IfModule mod_cache.c>
<IfModule mod_cache_disk.c>
CacheEnable disk /static/
CacheRoot "/var/cache/apache2/mod_cache_disk"
CacheDirLevels 2
CacheDirLength 1
CacheDefaultExpire 31536000
</IfModule>
</IfModule>
这个例子中,/static/
是你的静态资源目录。
无论你使用哪种方法,最后都需要重启Apache服务器以使配置生效:
sudo systemctl restart apache2
或者
sudo service apache2 restart
通过以上步骤,你就可以在Apache中配置静态资源缓存了。