SHTML說明由任搏軟 @ cnblogs轉錄,特此感謝。
使用SSI (Server Side Include)技術
想要找到既富有創意的平面設計人員,又有腳本開發經驗的人員,實在是太難了。而如果一個百分之百的頁面都是php腳本的網站,將為頁面維護帶來非常大的困難。而且使用了php的自動加頭和加尾的方法,使得幾乎所有頁面都是語義不完整的,不能借助任何一款頁面設計工具工作,是另一個弊病。
利用SSI技術,可以有效的將HTML網頁和CGI腳本邏輯上分開,也可以將重複的HTML元素抽象和獨立出來,減輕維護負擔。
Basic SSI directives Syntax
<!--#element attribute=value attribute=value ... -->
插入程式碼
<!--#exec cmd="ls"-->
Today's date
<!--#config timefmt="%Y/%m/%d %a %H:%M:%S" -->
Today is <!--#echo var="DATE_LOCAL" -->
*
Modification date of the file
This document last modified <!--#flastmod file="index.html" -->
*
Including the results of a CGI program
<!--#include virtual="/cgi-bin/counter.pl" -->
<!--#include virtual="/cgi-bin/example.cgi?argument=value" -->
You can use "#exec cgi=" directive, but it can be disabled using the IncludesNOEXEC Option.
*
Including a standard footer
<!--#include virtual="/footer.html" -->
*
Executing commands
<!--#exec cmd="ls" -->
This feature is dangerous. You can allow SSI, but not the exec feature, with the IncludesNOEXEC argument to the Options directive.
*
Setting variables
<!--#set var="modified" value="$LAST_MODIFIED" -->
<!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" -->
*
Conditional expressions
<!--#if expr="test_condition" -->
<!--#elif expr="test_condition" -->
<!--#else -->
<!--#endif -->
1、Config命令
Config命令主要用於修改SSI的默認設置。其中:
Errmsg:設置默認錯誤信息。為了能夠正常的返回用戶設定的錯誤信息,在HTML文件中Errmsg參數必須被放置在其它SSI命令的前面,否則客戶端只能顯示默認的錯誤信息,而不是由用戶設定的自定義信息。
<!--#config errmsg="Error! Please email webmaster@mydomain.com -->
Timefmt:定義日期和時間的使用格式。Timefmt參數必須在echo命令之前使用。
<!--#config timefmt="%A, %B %d, %Y"-->
<!--#echo var="LAST_MODIFIED" -->
顯示結果為:
Wednesday, April 12, 2000
也許用戶對上例中所使用的%A %B %d感到很陌生,下面我們就以表格的形式總結一下SSI中較為常用的一些日期和時間格式。 www.domain.com
Sizefmt:決定文件大小是以字節、千字節還是兆字節為單位表示。如果以字節為單位,參數值為"bytes";對於千字節和兆字節可以使用縮寫形式。同樣,sizefmt參數必須放在fsize命令的前面才能使用。
<!--#config sizefmt="bytes" -->
<!--#fsize file="index.html" -->
2、Include命令
Include命令可以把其它文檔中的文字或圖片插入到當前被解析的文檔中,這是整個SSI的關鍵所在。通過Include命令只需要改動一個文件就可以瞬間更新整個站點!
Include命令具有兩個不同的參數:
Virtual:給出到服務器端某個文檔的虛擬路徑。例如:
<!--#include virtual="/includes/header.html" -->
File:給出到當前目錄的相對路徑,其中不能使用"../",也不能使用絕對路徑。例如:
<!--#include file="header.html" -->
這就要求每一個目錄中都包含一個header.html文件。
3、Echo命令
Echo命令可以顯示以下各環境變量:
DOCUMENT_NAME:顯示當前文檔的名稱。
<!--#echo var="DOCUMENT_NAME" -->
顯示結果為:
index.html
DOCUMENT_URI:顯示當前文檔的虛擬路徑。例如:
<!--#echo var="DOCUMENT_URI" -->
顯示結果為:
/YourDirectory/YourFilename.html
隨著網站的不斷發展,那些越來越長的URL地址肯定會讓人頭疼。如果使用SSI,一切就會迎刃而解。
另外一個關於apache中ssi技術的教程可以查閱:
Apache指南:服務器端包含入門
http://www.kreny.com/doc/apache2.0/howto/ssi.html
參考網頁
http://www.worldhello.net/doc/website_howto/ssi.html
http://www.7880.com/Info/Article-2f11dda0.html
http://www.carleton.ca/~dmcfet/html/ssi.html
http://www.dizign.de/ssi/
訂閱:
張貼留言 (Atom)
0 意見:
張貼留言