HttpSSI模块
此模块处理服务器端包含文件(ssi)的处理. 列表中的命令当前并未完全支持.
__配置示例__
location / { : ssi on; }
Directives
- [#ssi ssi]
- [#ssi_silent_errors ssi_silent_errors]
- [#ssi_types ssi_types]
- [#ssi_value_length ssi_value_length]
ssi
语法: ssi [ on | off ]
默认值: ssi off
作用域: http, server, location 在location作用域中将启用SSI文件处理.
ssi_silent_errors
语法: ssi_silent_errors [on|off]
默认值: ssi_silent_errors off
作用域: http, server, location
在处理SSI文件出错时不输出错误提示:"[an error occurred while processing the directive] "
ssi_types
语法: ssi_types mime-type [mime-type ...]
默认值: ssi_types text/html
作用域: http, server, location
Enables SSI processing for MIME-types in addition to "text/html" types.
ssi_value_length
语法: ssi_value_length length
默认值: ssi_value_length 256
作用域: http, server, location
定义SSI允许使用的参数长度
SSI 命令
格式示例如下:
: <!--# command parameter1=value parameter2=value... -->
支持的SSI 命令如下:
-
block
— command describes the block, which can be used as a silencer in commandinclude
. Inside the block there can be commandsSSI
. - name — the name of the block. For example:
-
config
— assigns some parameters with working SSI. - errmsg — the line, which is derived with the error during the SSI processing. By default, this string is used: "[an error occurred while processing the directive] "
- timefmt — the time formatting string, as used in strftime(3). By default, this string is used:
-
echo
- print a variable - var — the name of the variable
- default - if the variable is empty, display this string. Defaults to "none". Example:
-
if / elif / else / endif
— conditionally include text or other directives. Usage:
- ...
- ...
- ...
- Only one level of nesting is possible.
- expr — the expression to evaluate. It can be a variable:
- <!--# if expr="$name" -->
- </code> A string comparison: <code>
- <!--# if expr="$name = text" -->
- <!--# if expr="$name != text" -->
- </code> Or a regex match: <code>
- <!--# if expr="$name = /text/" -->
- <!--# if expr="$name != /text/" -->
- Если в text встречаются переменные, то производится подстановка их значений.
- <code>include — include a document from another source.
- file — include a file, e.g.
- virtual — include a request, e.g.
- <!--# include virtual="/remote/body.php?argument=value" -->
- Multiple requests will be issued in parallel. If you need them issued sequentially, use the "wait" option.
- stub — The name of the block to use as a default if the request is empty or returns an error.
- <!--# block name="one" --> <!--# endblock -->
- <!--# include virtual="/remote/body.php?argument=value" stub="one" -->
- wait — when set to yes, the rest of the SSI will not be evaluated until the current request is finished. Example:
- <!--# include virtual="/remote/body.php?argument=value" wait="yes" -->
-
set
- assign a variable. - var — the variable.
- value — its value. If it contains variable names, these will be evaluated.
内置变量
ngx_http_ssi_module 支持两种内置变量:
-
$date_local
- 当前的本地时区时间.配置选项"timefmt"控制格式. -
$date_gmt
- 当前的GMT时间. 配置选项"timefmt"控制格式.