Actions
Mod ssi » History » Revision 17
« Previous |
Revision 17/28
(diff)
| Next »
lonnyk, 2010-03-10 04:13
see bug 2150
Server-Side Includes¶
- Table of contents
- Server-Side Includes
Module: mod_ssi
Description¶
SSI is a very old and cheap way to generate content dynamically on server-side.
The use of this module is strongly discouraged:- the execution of a SSI script is done in the server-core
- a long-running SSI script blocks the handling of ALL connections
- as soon as you use #exec the performance gets worse than using CGI scripts directly
- content assembling with #include
- legacy applications
Configuration¶
You have to load the mod_ssi module and set the ssi-extension:
server.modules = ( ..., "mod_ssi", ... ) ssi.extension = ( ".shtml" )
Supported Options¶
<!--#echo var="..." --> <!--#echo var="DOCUMENT_ROOT"--> <!--#include file="..."\|virtual="..." --> <!--#flastmod file="..."\|virtual="..." --> <!--#fsize file="..."\|virtual="..." --> <!--#config timefmt="..." sizefmt="(bytes|abbrev)" --> <!--#printenv --> <!--#set var="..." value="..." --> <!--#if expr="..." --> <!--#elif expr="..." --> <!--#else --> <!--#endif --> <!--#exec cmd="..." --> <!--#exec cmd="date"-->
Expression Handling¶
Every "expr" is interpreted:- logical: AND, OR, !
- compare: =, <, <=, >, =>, !=
- precedence: (, )
- quoted strings: 'string with a dollar: $FOO'
- variable substitution: $REMOTE_ADDR
- unquoted strings: string
Flow Control¶
if, elif, else and endif can only be used to insert content under special conditions.
Unsupported Features¶
The original SSI module from NCSA and Apache provided some more options which are not supported by this module for various reasons:- nested requests with `include virtual`: use exec to execute scripts or apply the patch at http://trac.lighttpd.net/trac/ticket/536
- `echo var` for SSI variables: it only works for environment variables if you don't apply patch at http://trac.lighttpd.net/trac/ticket/795
- config.errmsg
- echo.encoding
Updated by lonnyk almost 15 years ago · 17 revisions