发布于 2015-09-20 00:03:34 | 104 次阅读 | 评论: 0 | 来源: 网络整理

此模块处理服务器端包含文件(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 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" --> : </code> is the same as <code> : <!--# if expr="$name" --><!--# echo var="name" --><!--# else -->no<!--# endif --> :

  • 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.
    
     

: <!--# 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.

内置变量

ngx_http_ssi_module 支持两种内置变量:

  • $date_local - 当前的本地时区时间.配置选项"timefmt"控制格式.
  • $date_gmt - 当前的GMT时间. 配置选项"timefmt"控制格式.

参考

Original Documentation

最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务