OpenLiteSpeed logo OpenLiteSpeed用户手册

重写

目录

重写控制

重写映射

重写规则

启用重写

描述

指定是否启用LiteSpeed的URL重写引擎。 此选项可在虚拟主机或Context级别自定义, 并会沿目录树继承,直到被显式覆盖。

语法

布尔值

自动加载.htaccess

描述

如果使用rewritefile指令的目录还没有对应的HttpContext,则在首次访问该目录时自动加载.htaccess文件中包含的重写规则。首次加载后,必须执行平滑重启才能使对该.htaccess文件的后续修改生效。

虚拟主机级别设置将覆盖服务器级别设置。 默认值:

服务器级别:No

虚拟主机级别:继承服务器级别设置

语法

布尔值

日志级别

描述

指定重写引擎调试输出的详细程度。 此值范围为0-90禁用日志记录,9生成最详细日志。 服务器和虚拟主机的错误日志日志级别 必须至少设置为INFO,此选项才会生效。 此设置在测试重写规则时很有用。

语法

无符号整数

另请参阅

Server 日志级别, Virtual Host 日志级别

名称

描述

指定虚拟主机级别重写映射的唯一名称。重写规则中的映射引用会使用此名称。 引用此名称时,应使用以下语法之一:

$\{MapName:LookupKey\}
$\{MapName:LookupKey|DefaultValue\}

LiteSpeed重写引擎实现遵循Apache重写引擎规范。有关重写映射的更多详细信息,请参阅 Apache mod_rewrite文档 .

语法

字符串

位置

描述

使用MapType:MapSource语法指定重写映射的位置。
LiteSpeed重写引擎支持三种重写映射:

  • 标准纯文本
    MapType: txt;
    MapSource: 指向有效纯ASCII文件的文件路径。
    此文件的每一行都应包含两个以空白分隔的元素。第一个元素是键,第二个元素是值。可以使用前导"#"符号添加注释。
  • 随机纯文本
    MapType: rnd;
    MapSource: 有效纯ASCII文件的文件路径。
    文件格式类似于标准纯文本文件,但第二个元素可以包含多个由"|"符号分隔的选项,并由重写引擎随机选择。
  • 内部函数
    MapType: int;
    MapSource: 内部字符串函数
    有4个可用函数:
    • toupper: 将查找键转换为大写。
    • tolower: 将查找键转换为小写。
    • escape: 对查找键执行URL编码。
    • unescape: 对查找键执行URL解码。
  • Apache中可用的以下映射类型未在LiteSpeed中实现:
    哈希文件和外部重写程序。
LiteSpeed重写引擎实现遵循Apache重写引擎规范。有关重写映射的更多详细信息,请参阅 Apache mod_rewrite文档 .

语法

字符串

重写规则

描述

指定虚拟主机级别的重写规则列表。

请勿在此处添加任何文档根级别的重写规则。 如果有来自.htaccess的文档根级别重写规则,请改为创建URI为"/"的静态Context, 并在那里添加这些重写规则。

重写规则由一个RewriteRule指令组成,并且前面可以选择性地放置多个RewriteCond指令。

  • 每条指令应只占一行。
  • RewriteCondRewriteRule遵循Apache的重写指令语法。可以直接从Apache配置文件复制并粘贴重写指令。
  • LiteSpeed与Apache mod_rewrite的实现有细微差别:
    • %\{LA-U:variable\}%\{LA-F:variable\}会被LiteSpeed重写引擎忽略。
    • LiteSpeed重写引擎新增了两个服务器变量: %\{CURRENT_URI\}表示重写引擎正在处理的当前URI, %\{SCRIPT_NAME\}与对应CGI环境变量含义相同。
    • LiteSpeed重写引擎遇到[L]标志后会停止处理重写规则以避免循环; Apache mod_rewrite只会停止当前迭代中的重写规则处理。此行为类似于Apache mod_rewrite中的[END]标志。

LiteSpeed重写引擎实现遵循Apache重写引擎规范。 有关重写规则的更多详细信息,请参阅 Apache mod_rewrite文档 Apache URL重写指南 .

语法

字符串