shtml網頁SSI使用詳解

2021-09-05 15:49:15 字數 2302 閱讀 4677

shtml是一種用於ssi技術的檔案。 也就是server side include--ssi 伺服器端包含指令。 一些web server有ssi功能的話。 會對shtml檔案特殊招待。 先掃一次shtml檔案看沒有特殊的ssi指令存在。  有就按web server設定規則解釋ssi指令。 解釋完後跟一般html一起調去客戶端。

1、config命令 

config命令主要用於修改ssi的預設設定。其中: 

errmsg:設定預設錯誤資訊。為了能夠正常的返回使用者設定的錯誤資訊,在html檔案中errmsg引數必須被放置在其它ssi命令的前面,否則客戶端只能顯示預設的錯誤資訊,而不是由使用者設定的自定義資訊。 

timefmt:定義日期和時間的使用格式。timefmt引數必須在echo命令之前使用。   

顯示結果為: 

wednesday, april 12, 2000  

也許使用者對上例中所使用的%a %b %d感到很陌生,下面我們就以**的形式總結一下ssi中較為常用的一些日期和時間格式。 

sizefmt:決定檔案大小是以位元組、千位元組還是兆位元組為單位表示。如果以位元組為單位,引數值為"bytes";對於千位元組和兆位元組可以使用縮寫形式。同樣,sizefmt引數必須放在fsize命令的前面才能使用。 

2、include命令 

include命令可以把其它文件中的文字或插入到當前被解析的文件中,這是整個ssi的關鍵所在。通過include命令只需要改動乙個檔案就可以瞬間更新整個站點! 

include命令具有兩個不同的引數: 

virtual:給出到伺服器端某個文件的虛擬路徑。例如: 

file:給出到當前目錄的相對路徑,其中不能使用"../",也不能使用絕對路徑。例如: 

這就要求每乙個目錄中都包含乙個header.html檔案。 

3、echo命令 

echo命令可以顯示以下各環境變數:

document_name:顯示當前文件的名稱。

顯示結果為:

index.html

document_uri:顯示當前文件的虛擬路徑。例如:

顯示結果為: 

query_string_unescaped:顯示未經轉義處理的由客戶端傳送的查詢字串,其中所有的特殊字元前面都有轉義符"\"。例如: 

date_local:顯示伺服器設定時區的日期和時間。使用者可以結合config命令的timefmt引數,定製輸出資訊。例如:   

顯示結果為: 

saturday, the 15 of april, in the year 2000  

date_gmt:功能與date_local一樣,只不過返回的是以格林尼治標準時間為基準的日期。例如: 

last_modified:顯示當前文件的最後更新時間。同樣,這是ssi中非常實用的乙個功能,只要在html文件中加入以下這行簡單的文字,就可以在頁面上動態的顯示更新時間。 

cgi環境變數 

除了ssi環境變數之外,echo命令還可以顯示以下cgi環境變數: 

server_software:顯示伺服器軟體的名稱和版本。例如:

server_protocol:顯示客戶端請求所使用的協議名稱和版本,如http/1.0。例如:

server_port:顯示伺服器的響應埠。例如:

request_method:顯示客戶端的文件請求方法,包括get, head, 和post。例如:

remote_host:顯示發出請求資訊的客戶端主機名稱。

auth_type:顯示使用者身份的驗證方法。

remote_user:顯示訪問受保護頁面的使用者所使用的帳號名稱。

4、fsize:顯示指定檔案的大小,可以結合config命令的sizefmt引數定製輸出格式。 

5、flastmod:顯示指定檔案的最後修改日期,可以結合config 命令的timefmt引數控制輸出格式。   

file

another file

顯示結果為:

file april 19, 2000

another file january 08, 2000  

6、exec 

exec命令可以執行cgi指令碼或者shell命令。使用方法如下:

cmd:使用/bin/sh執行指定的字串。如果ssi使用了includesnoexec選項,則該命令將被遮蔽。 

cgi:可以用來執行cgi指令碼。例如,下面這個例子中使用服務端cgi-bin目錄下的counter.pl指令碼程式在每個頁面放置乙個計數器: 

SSI使用詳解

1 config命令 config命令主要用於修改ssi的預設設定。其中 errmsg 設定預設錯誤資訊。為了能夠正常的返回使用者設定的錯誤資訊,在html檔案中errmsg引數必須被放置在其它ssi命令的前面,否則客戶端只能顯示預設的錯誤資訊,而不是由使用者設定的自定義資訊。timefmt 定義日...

SSI使用詳解

什麼是ssi?ssi是英文server side includes的縮寫,翻譯成中文就是伺服器端包含的意思。從技術角度上說,ssi就是html檔案中,可以通過注釋行呼叫的命令或指標。ssi 具有強大的功能,只要使用一條簡單的ssi 命令就可以實現整個 的內容更新,動態顯示時間和日期,以及執行shel...

開啟SSI使Apache支援shtml網頁檔案

要實現apache支援shtml偽靜態則需要開啟ssi並可支援用shtml來include網頁檔案 1 開conf目錄下的httpd.conf檔案,搜尋 addtype text html shtml 找到 addtype text html shtml addoutputfilter includ...