OpenLiteSpeed用户手册 - 静态上下文
Description: OpenLiteSpeed用户手册 - 静态上下文.

用户手册
Version 1.9 — Rev. 3

# 静态上下文

#### 描述

上下文设置用于为特定位置的文件指定特殊设置。 这些设置可用于引入文档根目录外的文件（类似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.1 或192.168.1.*。

### 拒绝访问列表

#### 描述

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

#### 语法

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

#### 示例

子网络可以写成192.168.1.0/255.255.255.0, 192.168.1 或192.168.1.*。

### 授权器

#### 描述

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

#### 语法

从下拉列表选择

### 添加默认的字符集

#### 描述

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

#### 语法

布尔值

### 自定义默认字符集

#### 描述

指定当添加默认的字符集为On时使用的字符集。此项可选，默认值为iso-8859-1。当添加默认的字符集为Off时，本设置不生效。

#### 语法

字符集名称。

#### 示例

utf-8

### 启用重写

#### 描述

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

#### 语法

布尔值

### 重写继承

#### 描述

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

#### 语法

布尔值

### 重写基准

#### 描述

指定重写规则的基准URL。

#### 语法

URL

### 重写规则

#### 描述

指定虚拟主机级别的重写规则列表。
请勿在此处添加任何文档根级别的重写规则。 如果有来自.htaccess的文档根级别重写规则，请改为创建URI为"/"的静态Context， 并在那里添加这些重写规则。
重写规则由一个RewriteRule指令组成，并且前面可以选择性地放置多个RewriteCond指令。

- 每条指令应只占一行。
- RewriteCond和RewriteRule遵循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"