Apache SSI技術可以動態的包含靜態html文件 ,由於這個是apache直接進行處理,效率比一般的如jsp,php,asp等要強得多,因此被很多大訪問量網站使用,下面講述如何配置SSI
1)系統環境:
Apache 2.0.58
Red Hat Enterprise Linux AS release 4 (Nahant)
2)SSI使用的是mod_include的動態系統對象,一般默認的情況安裝的情況下都會安裝,可以通過apachectl -l查看是否包括mod_include.o文件。如果沒有,那麼需要重新編譯apache
3)修改apache的配置文件httpd.conf
首先確定你要使用SSI功能的是哪個目錄,然後在該目錄配置下加入下面配置:
AddHandler server-parsed .shtml
AddType text/html .shtml
Options +Includes
如果使用的是虛擬主機,那麼上述配置應該加入到虛擬機的配置中。
簡單說明:
AddHandler server-parsed .shtml 表示.shtml文件後綴用SSI方式處理,這樣apache如果發現請求的是.shtml文件,那麼就會使用對裏面的標籤進行解析處理。
AddType text/html .shtml 表示返回的文件格式是text/html編碼
Options +Includes 表示+Includes表示使用SSI所有的功能,如果只需要Include功能,那麼可以使用InlucdesNoExec選項。
4)重啓apache
5)新建一個後綴爲.shtml的文件,測試配置是否正確。
6)一些簡單的SSI語法:
Time: <!--#echo var="DATE_LOCAL" -->
<br>
ServerName: <!--#echo var="SERVER_NAME" var="DOCUMENT_URI" -->
<br>
ENV:<!--#printenv -->
<br>
<!--#set var="aaa" value="sohu-test" -->
<!--#echo var="aaa" -->
<br>
<!--#if expr="$aaa='sohu-test'" -->
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
<!--#else -->
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
<!--#endif -->
<br>
<!--#include virtual="inc/a.html" -->
註明:
如果apache是2.2或者2.0的較高的版本,可以採用以下方法:
1. Options 後面加上Includes
2. AddType text/html .shtml
3. AddOutputFilter INCLUDES .shtml .html .htm