Project

General

Profile

Actions

Mod ssi » History » Revision 12

« Previous | Revision 12/28 (diff) | Next »
Anonymous, 2008-08-31 17:24


TracNav(DocsToc) {{{
#!rst

====================
Server-Side Includes ====================

---------------
Module: mod_ssi
---------------

.. contents:: Table of Contents

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

You should only use SSI for two reason:

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

- ```` ::

For now it works only for environment variables, not user specified SSI variables.

- ````
- ````
- ````
- ````
- ````
- ````
- ````
- ````
- ````
- ````
- ```` ::

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 - use exec to execute scripts or apply the patch at #536
- config.errmsg
- echo.encoding

}}}

Updated by Anonymous about 16 years ago · 12 revisions