OpenLiteSpeed logo OpenLiteSpeed用户手册

静态上下文

目录

静态上下文

静态上下文

描述

上下文设置用于为特定位置的文件指定特殊设置。 这些设置可用于引入文档根目录外的文件(类似Apache的Alias或AliasMatch指令), 使用授权域保护特定目录,或阻止/限制对文档根目录中特定目录的访问。

URI

描述

指定此上下文的URI。

语法

URI可以是普通URI(以"/"开头),也可以是Perl兼容的正则表达式URI(以"exp:"开头)。 如果普通URI以"/"结尾,则此上下文将包含该URI下的所有子URI。 如果上下文映射到文件系统上的目录,则必须添加结尾的"/"。

另请参阅

位置

位置

描述

指定此上下文在文件系统中的对应位置。

默认值:$DOC_ROOT + URI

语法

可以是绝对路径,也可以是相对于$SERVER_ROOT、$VH_ROOT或$DOC_ROOT的路径。 $DOC_ROOT是默认相对路径,可以省略。

如果URI是正则表达式,匹配的子字符串可用于组成"Root"字符串。匹配的子字符串可通过"$1"到"$9"引用;"$0"和"&"可引用整个匹配字符串。此外,可以追加"?"和查询字符串来设置查询字符串。注意:查询字符串中的"&"应转义为"\&"。

示例

位置设为/home/john/web_examples时,类似/examples/的普通URI会将请求"/examples/foo/bar.html"映射到文件"/home/john/web_examples/foo/bar.html"。
要模拟Apache的mod_userdir,可将URI设为exp: ^/~([A-Za-z0-9]+)(.*),并将位置设为/home/$1/public_html$2。这样,URI /~john/foo/bar.html的请求会映射到文件/home/john/public_html/foo/bar.html。

另请参阅

URI

访问权限

描述

指定是否可以访问此上下文。设置为No以拒绝访问。 您可以使用此功能来防止访问指定目录。 您可以在更新此上下文内容或此目录中有特殊数据时使用它。

语法

布尔值

启用过期

描述

指定是否为静态文件生成Expires头。如果启用,将根据 默认过期按类型过期生成Expires头。

这可以在服务器、虚拟主机和上下文级别设置。低级别的设置将 覆盖高级别的设置。例如,上下文级别的设置将覆盖虚拟主机级别的设置, 虚拟主机级别的设置将覆盖服务器级别的设置。

语法

布尔值

默认过期

描述

指定生成Expires头的默认设置。该设置在启用过期 设为“启用”时有效。它可以被按类型过期覆盖。 除非必要,否则不要在服务器或虚拟主机级别设置该默认值。 因为它会为所有网页生成Expires头。大多数时候,应该是 为不常变动的某些目录在上下文级别设置。如果没有默认设置,按类型过期中未指定的类型不会生成Expires头。

语法

A|Mseconds
文件将在基准时间(A|M)加指定秒数的时间后失效。 “A”代表基准时间为客户端的访问时间,“M”代表文件的最后修改时间。

按类型过期

描述

为各个MIME类型分别指定Expires头设置。

语法

逗号分隔的“MIME-类型=A|M秒数”的列表。 文件将在基准时间(A|M)加指定秒数的时间后失效。

“A”代表基准时间为客户端的访问时间,“M”代表文件的最后修改时间。 MIME-类型可使用通配符“*”,如image/*。

标头控制

描述

指定要添加的附加响应/请求头。可添加多个头指令,每行一个。"NONE"可用于禁用父级头继承。如果未提供指令,则假定为"Header"。

语法

[Header]|RequestHeader [condition] set|append|merge|add|unset header [value] [early|env=[!]variable]

示例

set Cache-control no-cache
append Cache-control no-store
Header set My-header cust_header_val
RequestHeader set My-req-header cust_req_header_val

提示

[信息] 语法和用法类似于 Apache的mod_headers指令

[信息] 'Header'指令是可选的。从其他位置复制规则时,可以移除或保留它,不会影响使用。

MIME类型

描述

为此上下文指定额外的MIME类型映射。新映射会覆盖此上下文及其子上下文下的现有映射。
如果要将PHP脚本显示为文本文件而不是作为脚本执行,则只需覆盖.php映射到MIME类型"text/plain"

语法

MIME-type1 extension extension ..., MIME-type2 extension ... 使用逗号分隔MIME类型,使用空格分隔多个扩展名。

示例

image/jpg jpeg jpg, image/gif gif

强制MIME类型

描述

指定后,无论文件后缀如何, 此上下文下的所有文件都将作为具有指定MIME类型的静态文件提供。 设置为NONE时,将禁用强制MIME类型。

语法

MIME类型或NONE。

默认MIME类型

描述

指定后,当无法通过文档后缀确定MIME类型映射或没有后缀时,将使用此类型。如果未指定,将使用默认值application/octet-stream

语法

MIME类型

索引文件

描述

指定URL映射到目录时按顺序查找的索引文件名称。 您可以在服务器、虚拟主机和上下文级别对其进行自定义。

语法

以逗号分隔的索引文件名列表。

提示

[性能建议] 只设置你需要的索引文件。

自动索引

描述

在目录中,当索引文件中所列的索引文件不可用时,指定运行时是否即时生成目录索引。
此选项可以在虚拟主机级别和Context级别中设置,并可以顺着目录树继承,直到被显式覆盖。 您可以自定义生成的索引页面。请查看在线Wiki操作指南。

语法

布尔值

提示

[安全] 建议尽可能关闭自动索引,以防止泄露机密数据。

另请参阅

索引文件, 自动索引URI

描述

指定此上下文的授权域。 指定后,必须提供有效的用户名和密码才能访问此上下文。 授权Realm需要在虚拟主机安全部分进行设置。 此设置使用每个授权域的Realm名称

语法

从下拉列表选择

认证名称

描述

为当前上下文的授权域指定一个替代名称。 如果未指定,将使用原授权域名称。 认证名称会显示在浏览器登录弹窗中。

语法

文本

Require(授权的用户/组)

描述

指定哪些用户/用户组可以访问此上下文。 这允许你在多个上下文中使用同一个用户/组数据库(由指定), 但只允许该数据库中的特定用户/组访问此上下文。

语法

语法与Apache的Require指令兼容。例如:

  • user username [username ...]
    只有列出的用户可以访问此上下文。
  • group groupid [groupid ...]
    只有属于列出组的用户可以访问此上下文。
如果未指定此设置,所有有效用户都可以访问此资源。

允许访问列表

描述

指定允许访问此上下文下资源的IP地址或子网。综合 拒绝访问列表项的配置以及服务器/虚拟主机级别访问控制, 可访问性将以客户端IP所符合的最小范围来确定。

语法

逗号分隔的IP地址/子网列表。

示例

网络可以写成192.168.1.0/255.255.255.0, 192.168.1192.168.1.*

拒绝访问列表

描述

指定哪些IP地址或子网不允许访问此上下文下的资源。 综合允许访问列表项的配置以及服务器/虚拟主机级别访问控制, 可访问性将以客户端IP所符合的最小范围来确定。

语法

逗号分隔的IP地址/子网列表。

示例

子网络可以写成192.168.1.0/255.255.255.0, 192.168.1192.168.1.*

授权器

描述

指定可用于生成授权/未授权决策的外部应用程序。目前仅FastCGI授权器可用。有关FastCGI授权器角色的更多详细信息, 请访问https://fastcgi-archives.github.io/

语法

从下拉列表选择

添加默认的字符集

描述

指定当内容类型为"text/html"或"text/plain"且没有参数时,是否向"Content-Type"响应报头添加字符集标记。设置为Off时,该功能禁用。设置为On时,将添加自定义默认字符集中指定的字符集;如果未指定,则添加默认的"iso-8859-1"字符集。

语法

布尔值

启用重写

描述

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

语法

布尔值

重写继承

描述

指定是否从父级上下文继承重写规则。 如果启用重写但不继承,将使用此上下文中定义的重写基准和重写规则。

语法

布尔值

重写基准

描述

指定重写规则的基准URL。

语法

URL

重写规则

描述

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

请勿在此处添加任何文档根级别的重写规则。 如果有来自.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重写指南 .

语法

字符串

启用IP地理定位

描述

指定是否启用IP地理定位查找。 可以在服务器、虚拟主机或上下文级别设置。使用“Not Set”值时,默认禁用IP地理定位。

语法

布尔值

另请参阅

使用报头中的客户端IP, 数据库文件路径,

php.ini覆盖

描述

用于覆盖当前Context(虚拟主机级别或Context级别)中的php.ini设置。

支持的指令是:
php_value
php_flag
php_admin_value
php_admin_flag

所有其他行/指令将被忽略。

语法

覆盖语法类似于Apache:每行一个指令及其值,每个指令前根据需要加上php_value、php_flag、php_admin_value或php_admin_flag。

示例

php_value include_path ".:/usr/local/lib/php"
php_admin_flag engine on
php_admin_value open_basedir "/home"