服務器端包含 SSI簡介
服務器端包含 SSI,是英文 Server Side Includes的簡寫。SSI是一種可以指揮服務器動態聲稱網頁內容的HTML指令。
通常SSI可以用來確保網頁中的一些通用內容,比如版權信息、聯系方式、或導航信息在全站所有網頁中保持一致。使用SSI顯示這些通用內容還可以減輕網站維護的工作量,因為當需要修改這些通用信息的時候,只需要改一個地方就可以了,而不需要逐個修改每一個網頁。
各個服務器對SSI命令的支持各有不同,但 #include 和 #exec 是通用的。使用 SSI 的頁面文件通常都使用擴展名.shtml,而不是.html 或 .htm,這樣以便服務器能夠辨認出哪些頁面包含SSI指令,這些頁面需要先經過服務器處理,翻譯執行其中的SSI指令,然後才發送給客戶端瀏覽器。 (當然有些服務器還是支持.html,.htm文件中有SSI指令的)。
如何辨別你的服務器是否支持 SSI?
多數網站寄存服務都支持 SSI – 但是也有一些不支持,特別是一些免費的網站寄存服務。你可以聯系你的網站寄存公司詢問他們是否支持SSI,也可以通過以下方式來自己測試一下你的服務器是否支持SSI:
1. 拷貝以下HTML內容,保存為文件名test.shtml
<html><head></head>
<body><!–#echo var=”DATE_LOCAL” –></body>
</html>
2. 將這個文件上載到你的服務器上,然後用瀏覽器瀏覽服務器上的這個網頁。
3. 如果看到網頁顯示當前日期,則你的服務器支持 SSI。否則,多半可能你的服務器不支持SSI。你可以嘗試與你的網站寄存公司聯系看他們是否可以為你開通SSI服務。
練習1: 顯示版權信息
1. 拷貝以下內容並存為copyright.html文件名 (你可以把鏈接和網站名稱修改為你的網站):
©2007 <a href=”http://www.prglab.com”> 程序員實驗室</a> 版權所有。
在瀏覽器中它應該顯示為
©2007 程序員實驗室 版權所有。
註意:在這個文件代碼中不能夠出現 <html>, <head> 和 <body> 這些標簽,否則包含它的頁面會出錯。
2. 將這個文件copyright.html上傳到你的服務器上。
3. 在要顯示版權信息的頁面底部</body>標簽之前插入以下代碼:
<!–#include virtual=”/copyright.html” –>
4.將修改後的文件上傳到服務器上,然後用瀏覽器打開服務器上的文件,你應該看到頁面的底部顯示版權信息。
註意: 寫有包含指令(#include)代碼的文件可能要保存為擴展名為.shtml的文件名,代碼才能生效。
練習 2: 簡單的導航條
1. 比如我們要寫一個如下所示的導航條
主頁| 聯系方式 | 產品介紹 | 訂單
可以用以下HTML代碼來實現:
<p align=”center”><font face=”Geneva, Arial, Helvetica, sans-serif” size=”2″>
<a href=”home.htm”>主頁</a>
| <a href=”mailto:[email protected]”>聯系方式</a>
| <a href=”products.htm”>產品介紹</a>
| <a href=”orders.htm”>訂單</a></font></p>
2. 保存這些代碼為文件 navigation.shtml 或 navigation.shtm.
3. 打開要插入導航條的頁面,在要顯示導航條的位置插入以下代碼:
<!–#include virtual=”/navigation.shtml” –>
4. 將所有文件上載到服務器上,並用瀏覽器檢查導航條是否如你所設想的顯示。
以上只是兩個很簡單的SSI使用的例子,你還可以自由發揮寫出更復雜的網頁。如果需要修改SSI包含的內容,只需要打開寫有通用內容的網頁,比如上面的copyright.html或navigation.shtml,修改其中的內容,那麽所有包含這個文件的網頁相應內容都會被自動修改。
SSI 相對來說比較容易掌握,並能提高網站維護效率,不妨一試。
服務器端包含 SSI簡介