最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

服務器端包含、嵌入技術(shù)SSI(Server SideInc lude)詳解

 更新時間:2014年07月02日 11:23:24   投稿:junjie  
這篇文章主要介紹了服務器端包含、嵌入技術(shù)SSI(Server SideInc lude)詳解,本文包含SSI簡介、SSI的語法、SSI的一些常用命令等,SSI最明顯的特征是網(wǎng)頁的擴展名師.shtml,一些大網(wǎng)站也常用這種技術(shù),需要的朋友可以參考下

SSI簡介

SSI在靜態(tài)文件中非常有用,能分離一些可變的模塊,如每日排行榜等。其主要作用有:

1.顯示服務器端環(huán)境變量<#echo>
2.將文本內(nèi)容直接插入到文檔中<#include>
3.顯示W(wǎng)EB文檔相關(guān)信息<#flastmod #fsize> (如文件制作日期/大小等)
4.直接執(zhí)行服務器上的各種程序<#exec>(如CGI或其他可執(zhí)行程序)
5.設(shè)置SSI信息顯示格式<#config>(如文件制作日期/大小顯示方式)
6.高級SSI<XSSI>可設(shè)置變量使用if條件語句。 apache、nginx等都支持SSI命令,配置下就可以,Nginx的配置可以參考:

http://wiki.nginx.org/HttpSsiModuleChs

SSI 的默認擴展名是 .stm、.shtm 和 .shtml

SSI語法

示例:

<!--#command param="value"-->

SSI的語法非常簡單,但使用中需注意以下幾點:

1.<!–與#之間無空格
2.SSI大小寫敏感
3.所有value需寫在引號中

SSI命令

config命令

config命令主要用于修改SSI的默認設(shè)置,諸如時間格式,默認錯誤信息,文件大小單位。

設(shè)置默認錯誤信息:errmsg

復制代碼 代碼如下:
<!--#config errmsg="Error,please contact webmaster@mail.com"-->

定義日期和時間格式:timefmt
復制代碼 代碼如下:
<!--#config timefmt="%A, %B %d, %Y"-->

定義文件大小單位
復制代碼 代碼如下:
<!--#config sizefmt="bytes"-->

config命令只對其后使用的命令生效。同時,后定義的設(shè)置具有更高的優(yōu)先級,會覆蓋之前的設(shè)置。

include命令

include命名可能是SSI中使用最多的命令,也是SSI最主要的功能體現(xiàn);
Include命令可以把其它文檔中的文字或圖片插入到當前被解析的文檔中,通過Include命令只需要改動一個文件就可以瞬間更新整個站點!

復制代碼 代碼如下:
<!--#include virtual="/inc/header.inc"-->
<!--#include file="inc/desc.inc"-->

include命令支持通過虛擬路徑引入文件(virtual),以及相對路徑引入文件(file),引用的文件類型不限。

set命令

可以使用set進行變量的定義:

復制代碼 代碼如下:
<!--#set var="blog" value="http://m.fzitv.net"-->

變量定義后便可以使用了:
復制代碼 代碼如下:
<!--#echo var="blog"-->

定義變量時使用環(huán)境變量:
復制代碼 代碼如下:
<!--#set var="fname" value="${DOCUMENT_NAME}${DOCUMENT_URI}"-->

如果是單個環(huán)境變量可以不使用{}分割:
復制代碼 代碼如下:
<!--#set var="fname" value="$DOCUMENT_NAME"-->

環(huán)境變量的引用都需要使用$前綴,如果$僅作為字符使用,通過\$轉(zhuǎn)義即可。

echo命令

echo顯示變量值,包括自定義變量、環(huán)境變量

復制代碼 代碼如下:
<!–#echo var=”DOCUMENT_NAME”–>

注意:echo命令中使用的環(huán)境變量不需要使用$前綴。 SSI的主要環(huán)境變量如下:

name description type
DOCUMENT_NAME 當前文檔名 SSI
DOCUMENT_URI 當前文檔虛擬路徑 SSI
QUERY_STRING_UNESCAPED 未經(jīng)轉(zhuǎn)義處理的由客戶端發(fā)送的查詢字串,所有的特殊字符前面都有轉(zhuǎn)義符”\” SSI
DATE_LOCAL 服務器設(shè)定時區(qū)的日期和時間 SSI
DATE_GMT 功能與DATE_LOCAL一樣,但返回的是以格林尼治標準時間為基準的日期 SSI
LAST_MODIFIED 當前文檔的最后更新時間 SSI
SERVER_SOFTWARE 服務器軟件的名稱和版本 CGI
SERVER_NAME 服務器的主機名稱,DNS別名或IP地址 CGI
SERVER_PROTOCOL 客戶端請求所使用的協(xié)議名稱和版本 CGI
SERVER_PORT 服務器的響應端口 CGI
REMOTE_HOST 發(fā)出請求信息的客戶端主機名稱 CGI
REMOTE_ADDR 發(fā)出請求信息的客戶端IP地址 CGI
AUTH_TYPE 用戶身份的驗證方法 CGI
REMOTE_USER 訪問受保護頁面的用戶所使用的帳號名稱 CGI

更多的環(huán)境變量可使用printenv命令查看 printenv命令 顯示所有環(huán)境變量

fsize命令

顯示指定文件的大小,可結(jié)合config sizefmt指定輸出格式。

復制代碼 代碼如下:

<!--輸出當前文檔大小-->
<!--#fsize file="$DOCUMENT_NAME"-->
<!--#fsize virtual="$DOCUMENT_URI"-->

flastmod命令

顯示指定文件的最后更新日期,可結(jié)合config sizefmt指定輸出格式。

復制代碼 代碼如下:

<!--輸出當前文檔大小-->
<!--#flastmod file="$DOCUMENT_NAME"-->
<!--#flastmod virtual="$DOCUMENT_URI"-->

exec命令

Exec 命令可以執(zhí)行 CGI 腳本或者 shell 命令。使用方法如下:

1.CMD:使用 /bin/sh 執(zhí)行指定的字串。如果 SSI 使用了 IncludesNOEXEC 選項,則該命令將被屏蔽

2.CGI:可以用來執(zhí)行 CGI 腳本

if…語句

SSI中也可以是用條件判斷語句if,語法如下:

復制代碼 代碼如下:
<!--#if expr="test_condition" -->
<!--#elif expr="test_condition" -->
<!--#else -->
<!--#endif -->

示例:
復制代碼 代碼如下:

<!--#if expr="$DOCUMENT_NAME=index.shtml"-->
<p>這是通過if判斷當前文檔名為"index.shtml"后顯示</p>
<!--#elif expr="$DOCUMENT_NAME=index.html"-->
<p>這是通過if判斷當前文檔名為"index.html"后顯示</p>
<!--#else -->
<p>既不是"index.shtml",也不是"index.html"</p>
<!--#endif -->
demo

相關(guān)文章

最新評論

海晏县| 开鲁县| 永城市| 镇沅| 汝南县| 秦皇岛市| 滁州市| 大足县| 博湖县| 湟源县| 青海省| 车险| 昌图县| 红桥区| 七台河市| 尼木县| 涿鹿县| 桓台县| 武宣县| 万载县| 从化市| 曲阳县| 阜宁县| 广水市| 察隅县| 淮北市| 运城市| 托克逊县| 北碚区| 镶黄旗| 海原县| 阜宁县| 石城县| 怀集县| 天峻县| 务川| 台湾省| 陇川县| 永兴县| 元江| 芦溪县|