TracNav menu
-
Core Features
- Configuration File Syntax
- Configuration Options
- Change Root
- Performance
- PerformanceFastCGI
- SSL
- Traffic Shaping
- Using SMP
-
Modules
- mod_accesslog
- mod_access
- mod_alias
- mod_auth
- mod_cache
- mod_cgi
- mod_cml
- mod_compress
- mod_deflate
- mod_dirlisting
- mod_evasive
- mod_evhost
- mod_expire
- mod_extforward
- mod_fastcgi
- mod_flv_streaming
- mod_geoip
- mod_magnet
- mod_mem_cache
- mod_mysql_vhost
- mod_proxy
- mod_redirect
- mod_rewrite
- mod_rrdtool
- mod_scgi
- mod_secdownload
- mod_setenv
- mod_simple_vhost
- mod_ssi
- mod_status
- mod_trigger_b4_dl
- mod_userdir
- mod_useronline
- mod_usertrack
- mod_webdav
-
Modules (1.5 only)
- mod_proxy_core
- mod_sql_vhost_core
- mod_uploadprogress
- mod_deflate
-
Internals
- FastCGI state-engine
- Plugin interface
- HTTP state-engine
-
Additional
- User written Modules
Server-Side Includes
Module: mod_ssi
Description
SSI is a very old and cheap way to generate content dynamicly 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
<!--#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 virtual
- config.errmsg
- echo.encoding

