导读:
本模块提供对 Server-Side Includes (SSI) 功能的支持,请注意, nginx 对 SSI 的功能支持暂时还是不完全的,无法实现一些在 apache 中正常的 SSI 功能。
示例location / {
ssi on;
}
指令
ssi
syntax:ssi [ on | off ]
default:ssi off
context:http, server, location, if in location
激活 SSI 处理。
ssi_silent_errors
语 法:ssi_silent_errors [on|off]
默认值:ssi_silent_errors off
作用域:http, server, location
Doesn't output "[an error occurred while processing the directive]", if an error occurs while processing the SSI.
ssi_types
syntax:ssi_types mime-type [mime-type ...]
default:ssi_types text/html
context:http, server, location
Enables SSI processing for MIME-types in addition to "text/html" types.
SSI 命令
Instruction format is the following <!--# command parameter1=value parameter2=value... -->
The supported SSI commands are listed below:
block— command describes the block, which can be used as a silencer in command include. Inside the block there can be commands SSI.
name— the name of the block. For example: <!--# block name="one" -->
the silencer
<!--# endblock -->
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: "%A, %d-%b-%Y %H:%M:%S %Z"
To include time in seconds use the format "%s" as well.
echo- print a variable
var— the name of the variable
default- if the variable is empty, display this string. Defaults to "none". Example: <!--# echo var="name" default="no" -->
is the same as <!--# if expr="$name" --><!--# echo var="name" --><!--# else -->no<!--# endif -->
if/elif/else/endif— conditionally include text or other directives. Usage: <!--# if expr="..." -->
...
<!--# elif expr="..." -->
...
<!--# else -->
...
<!--# endif -->
Only one level of nesting is possible.
expr— the expression to evaluate. It can be a variable: <!--# if expr="$name" -->
A string comparison: <!--# if expr="$name = text" -->
<!--# if expr="$name != text" -->
Or a regex match: <!--# if expr="$name = /text/" -->
<!--# if expr="$name != /text/" -->
Если в text встречаются переменные, то производится подстановка их значений.
include— include a document from another source.
file— include a file, e.g. <!--# include file="footer.html" -->
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.
内置变量
本模块提供两个内置的变量:
$date_local- 本地时间,输出格式可以由选项 "timefmt" 控制。
$date_gmt- 格林威治时间,输出格式可以由选项 "timefmt" 控制。
本文转自
http://www.nginx.cn/NginxChsHttpSsiModule
本模块提供对 Server-Side Includes (SSI) 功能的支持,请注意, nginx 对 SSI 的功能支持暂时还是不完全的,无法实现一些在 apache 中正常的 SSI 功能。
示例location / {
ssi on;
}
指令
ssi
syntax:ssi [ on | off ]
default:ssi off
context:http, server, location, if in location
激活 SSI 处理。
ssi_silent_errors
语 法:ssi_silent_errors [on|off]
默认值:ssi_silent_errors off
作用域:http, server, location
Doesn't output "[an error occurred while processing the directive]", if an error occurs while processing the SSI.
ssi_types
syntax:ssi_types mime-type [mime-type ...]
default:ssi_types text/html
context:http, server, location
Enables SSI processing for MIME-types in addition to "text/html" types.
SSI 命令
Instruction format is the following <!--# command parameter1=value parameter2=value... -->
The supported SSI commands are listed below:
block— command describes the block, which can be used as a silencer in command include. Inside the block there can be commands SSI.
name— the name of the block. For example: <!--# block name="one" -->
the silencer
<!--# endblock -->
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: "%A, %d-%b-%Y %H:%M:%S %Z"
To include time in seconds use the format "%s" as well.
echo- print a variable
var— the name of the variable
default- if the variable is empty, display this string. Defaults to "none". Example: <!--# echo var="name" default="no" -->
is the same as <!--# if expr="$name" --><!--# echo var="name" --><!--# else -->no<!--# endif -->
if/elif/else/endif— conditionally include text or other directives. Usage: <!--# if expr="..." -->
...
<!--# elif expr="..." -->
...
<!--# else -->
...
<!--# endif -->
Only one level of nesting is possible.
expr— the expression to evaluate. It can be a variable: <!--# if expr="$name" -->
A string comparison: <!--# if expr="$name = text" -->
<!--# if expr="$name != text" -->
Or a regex match: <!--# if expr="$name = /text/" -->
<!--# if expr="$name != /text/" -->
Если в text встречаются переменные, то производится подстановка их значений.
include— include a document from another source.
file— include a file, e.g. <!--# include file="footer.html" -->
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.
内置变量
本模块提供两个内置的变量:
$date_local- 本地时间,输出格式可以由选项 "timefmt" 控制。
$date_gmt- 格林威治时间,输出格式可以由选项 "timefmt" 控制。
本文转自
http://www.nginx.cn/NginxChsHttpSsiModule