博客 / Others/ OpenLiteSpeed 页面缓存模块配置与 Rewrite 规则设置指南

OpenLiteSpeed 页面缓存模块配置与 Rewrite 规则设置指南

OpenLiteSpeed 页面缓存概述

OpenLiteSpeed 内置的页面缓存模块能有效减轻服务器负载,显著提升网站页面加载速度。对于访问量较大的网站,启用缓存是优化性能的关键步骤。

注意:所有模块必须在服务器级别注册后才能进行配置。本文假设您已完成模块注册,若未注册,请先参考相关文档完成此步骤。

开启页面缓存模块

要使用页面缓存功能,请确保您的 OpenLiteSpeed 版本为 1.3 或更高。以下是配置步骤:

步骤 1:添加缓存模块

  1. 登录 OpenLiteSpeed WebAdmin 控制台。
  2. 导航至:Configuration > Server > Modules
  3. 点击 Add 按钮添加新模块。

步骤 2:配置模块参数

在添加模块的界面中,进行如下设置:

  • 模块名称:填写为 cache
  • 模块参数 (Module Parameters):填入以下配置(参数说明见文末):
enableCache 0
qsCache 1
reqCookieCache 1
respCookieCache 1
ignoreReqCacheCtrl 0
ignoreRespCacheCtrl 0
expireInSeconds 2000
maxStaleAge 1000
enablePrivateCache 1
privateExpireInSeconds 1000
storagePath

配置完成后,点击右上角的 Save 保存。此设置为服务器全局配置,但可以在虚拟主机级别进行覆盖和细化设置。

为虚拟主机配置缓存 Rewrite 规则

在服务器启用缓存模块后,您可以为特定的虚拟主机配置 Rewrite 规则来控制缓存行为。

前提条件

确保目标虚拟主机已启用 Rewrite 功能。路径为:WebAdmin console > Configuration > Virtual Hosts > [您的虚拟主机] > Rewrite

常用 Rewrite 规则示例

以下规则需添加到虚拟主机的 Rewrite 配置中。

示例 1:缓存指定目录下的 PHP 文件

缓存 cacheable/ 目录下所有 .php 文件,有效期 120 秒。

RewriteRule cacheable/(.*.php)?$ - [L,E=cache-control:max-age=120]

示例 2:为登录用户启用私有缓存

此规则将为已登录用户(通过 Cookie 判断)缓存特定类型的静态文件,并标记为私有缓存。

# 为已登录用户启用私有缓存
RewriteCond %{REQUEST_METHOD} ^HEAD|GET$
RewriteCond %{HTTP_COOKIE} loginuser
RewriteCond %{ORG_REQ_URI} !^/index.php$
RewriteCond %{ORG_REQ_URI} (.php|.html|.htm|.feed|.pdf|/[^.]*)$  [NC]
RewriteRule .* - [E=cache-control:private,L]

示例 3:为特定虚拟主机禁用缓存

添加以下规则可使该虚拟主机的所有请求都不被缓存。

RewriteRule .* - [E=Cache-Control:no-cache]

缓存模块参数详解

下表详细说明了服务器级别缓存模块的各项参数:

参数名 说明 建议值
enableCache 启用或禁用公共缓存。1=启用,0=禁用。如果公共和私有缓存同时启用,将优先使用私有缓存。 0 (按需在虚拟主机启用)
qsCache 是否缓存带查询字符串 (Query String) 的 URI。1=启用,0=禁用。 1
reqCookieCache 如何处理带 Cookie 的请求。1=如果缓存存在则响应,0=带 Cookie 的请求永不使用缓存响应。 1
respCookieCache 是否缓存带有 Set-Cookie 响应头的响应。1=缓存,0=不缓存。 1
ignoreReqCacheCtrl 是否忽略请求中的缓存控制头。1=忽略,0=遵守。 0
ignoreRespCacheCtrl 是否忽略响应中的缓存控制头。1=忽略,0=遵守。 0
expireInSeconds 公共缓存资源的过期时间(秒)。 2000
maxStaleAge 当新资源不可用时,允许提供过期(陈旧)缓存的最大时长(秒)。 1000
enablePrivateCache 启用或禁用私有缓存。1=启用,0=禁用。 1
privateExpireInSeconds 私有缓存资源的过期时间(秒)。 1000
storagePath 缓存数据存储目录。以 / 开头为绝对路径,否则相对于 OpenLiteSpeed 根目录。留空则使用根目录下的 cachedata 目录。 (留空使用默认路径)

重要提示:本文配置基于较新的 OpenLiteSpeed 版本。实际操作前,请确认您的具体版本,并建议参考官方最新文档进行微调。虚拟主机级别的 Rewrite 规则拥有最高优先级,是进行细粒度缓存控制的主要方式。

  1. avatar
    PHP二次开发

    学习了。。。

  2. avatar
    免费资源部落

    我去试试。。。

回复 PHP二次开发 取消回复

您的邮箱不会公开。必填项已用 * 标注。