Why my Apache Server Side Include (SSI) is not working?

Q. I would like to use Server Side Include (SSI) from my html pages. But it is not working for VirtualHost. How do I configure Apache Server Side Include?

A. From Aapache site, "SSI (Server Side Includes) are directives that are placed in HTML pages, and evaluated on the server while the pages are being served. They let you add dynamically generated content to an existing HTML page, without having to serve the entire page via a CGI program, or other dynamic technology".

Make sure you have following configuration directive/line in your .htaccess or httpd.conf file:

vi /etc/httpd/httpd.conf

OR

vi .htaccess

Add following directive:

Options +Includes

Above directive (Options +Includes) tells Apache that you want to permit files to be parsed for SSI directives.

Next, make sure Apache knows which files should be parsed using SSI.

AddType text/html .shtml
AddHandler server-parsed .shtml

Now test your configuration by adding any one of the following SSI directive:

$ vi test.shtml

Append any one of the following SSI directive:

<!--#echo var="DATE_LOCAL" -->

OR

<!--include file="counter.cgi"-->

Save the file. Restart Apache and test your configuration.

For more information see Apache SSI tutorial

Want to read Linux tips and tricks, but don't have time to check our blog everyday? Subscribe to our daily email newsletter to make sure you don't miss a single tip/tricks. Subscribe to our weekly newsletter here!

{ 0 comments… add one now }

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Previous post: Kill process in Linux or terminate a process in UNIX or Linux systems

Next post: Linux setup default gateway with route command