个人工具

UbuntuHelp:ServerSideIncludes

来自Ubuntu中文

跳转至: 导航, 搜索

<<Include(Tag/StyleCleanup)>> How to set up Server Side Includes on Apache, assuming you already have Apache installed. Server Side Includes are a very simple way of performing a limited Server Side Programming. For instance, you can have the server assemble one single document by merging smaller ones (with the #include directive), you can display data on the file itself (with the date_local directive, and many more), and if security is non of your concern, you can even execute local programs.

Enable the Includes module

a2enmod include

This creates a SymbolicLink in mods-enabled of the config file in mods-available. See also RootSudo.

Editing config

Open the /sites-available/default file...

gksudo gedit /etc/apache2/sites-available/default

find this section...

<Directory /var/www/>
	Options Indexes FollowSymLinks MultiViews
	AllowOverride None
	Order allow,deny
	allow from all
</Directory>

and edit it to look like this:

<Directory /var/www/>
	Options Indexes FollowSymLinks MultiViews +Includes
	AllowOverride None
	Order allow,deny
	allow from all
	AddType text/html .shtml
	AddOutputFilter INCLUDES .shtml
	DirectoryIndex index.shtml
</Directory>

You need to add `+Includes` to the end of the end of the `Options`, and two new lines after the commented-out lines. You can leave out the final added line if you don't want includes in index pages.

Restart Apache2

sudo apache2ctl restart

Test it works

Create a SSI test file and save it under /var/www/ssi-test.shtml.

<html>
<head>
<title>SSI Test Page</title>
</head>
<body>
<!--#echo var="DATE_LOCAL" -->
</body>
</html>

In your WebBrowser, go to `http://127.0.0.1/ssi-test.shtml`. If your browser displays the local date (eg Saturday, 06-Aug-2005 23:05:21 CEST), SSI is working! Tested on Ubuntu 9.04


Based on Rafael Gattringer's Ubuntu Apache2 SSI Installation guide, with permission.