shtml與html的區(qū)別說明

字號(hào):


    在對(duì)shtml的了解中,我們可以知道,shtml可以使用<#include>,這樣的話,我們就可以直接將自己的廣告代碼或者自己要推薦的東西引用過來.
    shtml和asp 有一些相似,以shtml命名的文件里,使用了ssi的一些指令,就像asp中的指令,你可以在SHTML文件中寫入SSI指令,當(dāng)客戶端訪問這些 shtml文件時(shí),服務(wù)器端會(huì)把這些SHTML文件進(jìn)行讀取和解釋,把SHTML文件中包含的SSI指令解釋出來.
    最后的那句最有用了,簡單點(diǎn)說.shtml在表面上看和html沒啥太大的區(qū)別,但咱們用起來呢,那就不一樣了.在對(duì)shtml的了解中,我們可以知道,shtml可以使用<#include>,這樣的話,我們就可以直接將自己的廣告代碼或者自己要推薦的東西引用過來.使用方法如下:
    在后綴為shtml或者shtm的文檔中間,你想要的位置插入 這個(gè)標(biāo)記,就能將info.htm的文件引入了.上面我有提到,我要做一個(gè)小說站.大家都知道小說站最好是生成靜態(tài),來減輕服務(wù)器的負(fù)載,我的站一直都是生成靜態(tài)的,咱們使用shtm在引入廣告之后,最最重要的一點(diǎn)就是,可以在info.htm中加入咱們要推薦的小說.大家都知道,做小說的要在自己不重新生成代碼的情況下來更換頁面的推薦內(nèi)容的話,只有用到JS,但是搜索引擎的蜘蛛碰到JS是直接會(huì)忽略的,我們使用JS來推薦內(nèi)容的話.可以對(duì)搜索優(yōu)化不太好,但是,如果咱們使用shtm的話,那就不一樣的.因?yàn)榭梢允褂肧SI指令.只需要使用include引入info.htm,然后將需要推薦的小說或者其他的信息直接寫入info.htm中,這樣.只要是shtm并且引入了info.htm的頁面將會(huì)跟著改變,而且搜索引擎依舊會(huì)抓取.廢話這么多主要是我感覺這個(gè)東西很好,用起來也很方便.所以呢.啰啰嗦嗦的講了半天,實(shí)際是上告訴做小說站的哥們,如果用shtm還是不錯(cuò)的選擇.
    不知道寫了這么多.大家明白不?
    APACHE開啟shtml,修改srm.con:AddType text/x-server-parsed-html .shtml 將只對(duì).shtml擴(kuò)展名的文件解析SSI指令
    Windows好像服務(wù)器默認(rèn)就是支持的,只只需在IIS的”Web服務(wù)擴(kuò)展”里設(shè)置”在服務(wù)器端的包含文件”為”允許” 即可.
    如果你要獲得關(guān)于一些html指令的信息,請(qǐng)繼續(xù)往下看
    程序代碼:
    <!-– 指令名稱=”指令參數(shù)”>
    <!-– 指令名稱=”指令參數(shù)”>
    如 程序代碼:
    <!–#include file=”info.htm”–>
    <!–#include file=”info.htm”–>
    說明:
    1.<!– –>是HTML語法中表示注釋,當(dāng)WEB服務(wù)器不支持SSI時(shí),會(huì)忽略這些信息。
    2.#include 為SSI指令之一。
    3.file 為include的參數(shù), info.htm為參數(shù)值,在本指令中指將要包含的文檔名。
    注意:
    1.<!–與#號(hào)間無空格,只有SSI指令與參數(shù)間存在空格。
    2.上面的標(biāo)點(diǎn)=”",一個(gè)也不能少。
    3.SSI指令是大小寫敏感的,因此參數(shù)必須是小寫才會(huì)起作用。
    SSI指令使用詳解
    #echo 示范
    作用:
    將環(huán)境變量插入到頁面中。
    語法:
    程序代碼:
    <!–#echo var=”變量名稱”–>
    本文檔名稱:程序代碼:
    <!–#echo var=”DOCUMENT_NAME”–>
    現(xiàn)在時(shí)間:程序代碼:
    <!–#echo var=”DATE_LOCAL”–>
    <!–#echo var=”DATE_LOCAL”–>
    你的IP地址是程序代碼:
    <!–#echo var=”REMOTE_ADDR”–>
    #include 示范
    作用:
    將文本文件的內(nèi)容直接插入到文檔頁面中。
    語法:
    程序代碼:
    <!–#include file=”文件名稱”–>
    <!–#include virtual=”文件名稱”–>
    file 文件名是一個(gè)相對(duì)路徑,該路徑相對(duì)于使用 #include 指令的文檔所在的目錄。被包含文件可以在同一級(jí)目錄或其子目錄中,但不能在上一級(jí)目錄中。如表示當(dāng)前目錄下的的nav_head.htm文檔,則為file=”nav_head.htm”。
    virtual 文件名是 Web 站點(diǎn)上的虛擬目錄的完整路徑。如表示相對(duì)于服務(wù)器文檔根目錄下hoyi目錄下的nav_head.htm文件;則為virtual=”/hoyi/nav_head.htm”
    參數(shù):
    file 指定包含文件相對(duì)于本文檔的位置
    virtual 指定相對(duì)于服務(wù)器文檔根目錄的位置
    注意:
    1、文件名稱必須帶有擴(kuò)展名。
    2、被包含的文件可以具有任何文件擴(kuò)展名,我覺得直接使用htm擴(kuò)展名最方便,微軟公司推薦使用 .inc 擴(kuò)展名(這就看你的愛好了)。
    示例:
    程序代碼:
    <!–#include file=”nav_head.htm”–>將頭文件插入到當(dāng)前頁面
    <!–#include file=”nav_foot.htm”–>將尾文件插入到當(dāng)前頁面
    #flastmod 和#fsize 示范
    作用: #flastmod 文件最近更新日期
    #fsize 文件的長度
    語法:
    程序代碼:
    <!–#flastmod file=”文件名稱”–>
    <!–#fsize file=”文件名稱”–>
    參數(shù):
    file 指定包含文件相對(duì)于本文檔的位置 如 info.txt 表示當(dāng)前目錄下的的info.txt文檔
    virtual 指定相對(duì)于服務(wù)器文檔根目錄的位置 如 /hoyi/info.txt 表示
    注意:
    文件名稱必須帶有擴(kuò)展名。
    示例:
    程序代碼:
    <!–#flastmod file=”news.htm”–>
    將當(dāng)前目錄下news.htm文件的最近更新日期插入到當(dāng)前頁面
    程序代碼:
    <!–#fsize file=”news.htm”–>
    將當(dāng)前目錄下news.htm的文件大小入到當(dāng)前頁面
    #exec 示范
    作用:
    將某一外部程序的輸出插入到頁面中??刹迦隒GI程序或者是常規(guī)應(yīng)用程序的輸入,這取決于使用的參數(shù)是cmd還是cgi。
    語法:
    程序代碼:
    <!–#exec cmd=”文件名稱”–>
    <!–#exec cgi=”文件名稱”–>
    參數(shù):
    cmd 常規(guī)應(yīng)用程序
    cgi CGI腳本程序
    示例:
    程序代碼:
    <!–#exec cmd=”cat /etc/passwd”–>將會(huì)顯示密碼文件
    <!–#exec cmd=”dir /b”–>將會(huì)顯示當(dāng)前目錄下文件列表
    <!–#exec cgi=”/cgi-bin/gb.cgi”–>將會(huì)執(zhí)行CGI程序gb.cgi。
    <!–#exec cgi=”/cgi-bin/access_log.cgi”–>將會(huì)執(zhí)行CGI程序access_log.cgi。
    注意:
    從上面的示例可以看出,這個(gè)指令相當(dāng)方便,但是也存在安全問題。
    禁止方法:
    .Apache,將access.conf中的”O(jiān)ptions Includes ExecCGI”這行代碼刪除;
    .在IIS中,要禁用 #exec 命令,可修改 SSIExecDisable 元數(shù)據(jù)庫;
    #config
    作用: 指定返回給客戶端瀏覽器的錯(cuò)誤信息、日期和文件大小的格式。
    語法:
    程序代碼:
    <!–#config errmsg=”自定義錯(cuò)誤信息”–>
    <!–#config sizefmt=”顯示單位”–>
    <!–#config timefmt=”顯示格式”–>
    參數(shù):
    errmsg 自定義SSI執(zhí)行錯(cuò)誤信息,可以為任何你喜歡的方式。
    sizefmt 文件大小顯示方式,默認(rèn)為字節(jié)方式(“bytes”)可以改為千字節(jié)方式(“abbrev”)
    timefmt 時(shí)間顯示方式,最靈活的配置屬性。
    示例: 顯示一個(gè)不存在文件的大小
    程序代碼:
    <!–#config errmsg=”服務(wù)器執(zhí)行錯(cuò)誤,請(qǐng)聯(lián)系管理員阿川,謝謝!”–>
    <!–#fsize file=”不存在的文件.htm”–>
    以千字節(jié)方式顯示文件大小
    程序代碼:
    <!–#config sizefmt=”abbrev”–>
    <!–#fsizefile=”news.htm”–>
    以特定的時(shí)間格式顯示時(shí)間
    程序代碼:
    <!–#config timefmt=”%Y年/%m月%d日 星期%W 北京時(shí)間%H:%M:%s,%Y年已過去了%j天 今天是%Y年的第%U個(gè)星期”–>
    <!–#echo var=”DATE_LOCAL”–> 顯示今天是星期幾,幾月,時(shí)區(qū)
    <!–#config timefmt=”今天%A, %B ,服務(wù)器時(shí)區(qū)是 %z,是”–>
    <!–#echo var=”DATE_LOCAL”–>