SSI使用詳解

2021-08-23 13:44:13 字數 3400 閱讀 1900

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:顯示當前文件的虛擬路徑。例如:

顯示結果為:

/yourdirectory/yourfilename.html

隨著**的不斷發展,那些越來越長的url位址肯定會讓人頭疼。如果使用ssi,一切就會迎刃而解。因為我們可以把**的網域名稱和ssi命令結合在一起顯示完整的url,即:

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_name: 顯示伺服器的主機名稱,dns別名或ip位址。例如:

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

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

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

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

remote_addr:顯示發出請求資訊的客戶端ip位址。

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

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

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

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

這裡,我們可以利用flastmod引數顯示出乙個頁面上所有鏈結頁面的更新日期。方法如下:

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,產生相應html**;所以對客戶端沒有限制,不會產生因為不同瀏覽器而產生不同的**效果。ssi有什麼用?

目前,主要有以下幾種用用途:

1、 顯示伺服器端環境變數<#echo>

2、 將文字內容直接插入到文件中<#include>

3、 顯示web文件相關資訊<#flastmod #fsize> (如檔案製作日期/大小等)

4、 直接執行伺服器上的各種程式<#exec>(如cgi或其他可執行程式)

5、 設定ssi資訊顯示格式<#config>(如檔案製作日期/大小顯示方式)

高階ssi可設定變數使用if條件語句。

之所以要扯到ssi,是因為shtml--server-parsed html 的首字母縮略詞。包含有嵌入式伺服器方包含命令的 html 文字。在被傳送給瀏覽器之前,伺服器會對 shtml 文件進行完全地讀取、分析以及修改。

shtml和asp 有一些相似,以shtml命名的檔案裡,使用了ssi的一些指令,就像asp中的指令,你可以在shtml檔案中寫入ssi指令,當客戶端訪問這些shtml檔案時,伺服器端會把這些shtml檔案進行讀取和解釋,把shtml檔案中包含的ssi指令解發布來

使用ssi

ssi指令基本格式:

程式**:

如 程式**:

說明:

1.是html語法中表示注釋,當web伺服器不支援ssi時,會忽略這些資訊。

2.#include 為ssi指令之一。

3.file 為include的引數, info.htm為引數值,在本指令中指將要包含的文件名。

注意:

1.2.上面的標點="",乙個也不能少。

3.ssi指令是大小寫敏感的,因此引數必須是小寫才會起作用。

ssi指令使用詳解

SSI使用詳解

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

shtml網頁SSI使用詳解

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

Nginx與SSI使用入門

nginx engine x 是乙個高效能的http和反向 伺服器,也是乙個imap pop3 smtp伺服器。它具有很多非常優越的特性 在連線高併發的情況下,nginx是apache伺服器不錯的替代品。ssi是server side inclde的縮寫,是一種基於服務端的網頁製作技術,就是服務端包...