剛開(kāi)始弄得時(shí)候,發(fā)現(xiàn)了很多錯(cuò)誤,其實(shí)很簡(jiǎn)單,參考shtm原來(lái)的設(shè)置就可以了
前提條件:
ServerSideIncludeModule的安裝:
在安裝iis的時(shí)候選擇上該服務(wù)(“在服務(wù)端包含文件”,選項(xiàng))即可,如下:
1:處理映射程序
添加模塊映射 請(qǐng)求路徑 *.html 模塊選擇 ServerSideIncludeModule,名稱(chēng)填寫(xiě):SSINC-html
2:重新啟動(dòng)IIS
cmd中輸入 iisreset /restart
詳細(xì)步驟如下
1、首先找到要修改的網(wǎng)站不是文件夾,然后右側(cè)找到 處理程序映射 雙擊進(jìn)入
2、找到如下三個(gè)
這三個(gè)就是stm,shtm,shtml三個(gè)都是一樣的效果,只是后綴不一樣,我們可以打開(kāi)看一下。
3、我們以*.shtm為了打開(kāi),這就明白了,他就是通過(guò) 模塊映射 實(shí)現(xiàn)的,我們后續(xù)的添加就方便了,其他.do可以像php一樣執(zhí)行都是一樣的原來(lái),參考原來(lái)的映射方法即可。
4、我們照樣子 添加一份
這里讓*.html支持shtm一樣,右側(cè)可以看到 添加模塊映射
5、參數(shù)如下
*.html
通過(guò)下拉選擇 ServerSideIncludeModule
6、名稱(chēng)可以隨便寫(xiě)個(gè)自己好識(shí)別的
7、同理我們可以讓*.htm也可以這么設(shè)置一下
shtm的用法給大家分享一下
shtml是一種用于SSI技術(shù)的文件。 也就是Server Side Include--SSI 服務(wù)器端包含指令。 一些Web Server有SSI功能的話(huà)。 會(huì)對(duì)shtml文件特殊招待。 先掃一次shtml文件看沒(méi)有特殊的SSI指令存在。 有就按Web Server設(shè)定規(guī)則解釋SSI指令。 解釋完后跟一般html一起調(diào)去客戶(hù)端。
1 、 Config 命令
Config 命令主要用于修改 SSI 的默認(rèn)設(shè)置。其中:
Errmsg :設(shè)置默認(rèn)錯(cuò)誤信息。為了能夠正常的返回用戶(hù)設(shè)定的錯(cuò)誤信息,在 HTML 文件中 Errmsg 參數(shù)必須被放置在其它 SSI 命令的前面,否則客戶(hù)端只能顯示默認(rèn)的錯(cuò)誤信息,而不是由用戶(hù)設(shè)定的自定義信息。
<!--#config errmsg="Error! Please email ben@fmben.com -->
Timefmt :定義日期和時(shí)間的使用格式。 Timefmt 參數(shù)必須在 echo 命令之前使用。
<!--#config timefmt="%A, %B %d, %Y"-->
<!--#echo var="LAST_MODIFIED" -->
顯示結(jié)果為:
Wednesday, April 12, 2019
也許用戶(hù)對(duì)上例中所使用的 %A %B %d 感到很陌生,下面我們就以表格的形式總結(jié)一下 SSI 中較為常用的一些日期和時(shí)間格式。
Sizefmt :決定文件大小是以字節(jié)、千字節(jié)還是兆字節(jié)為單位表示。如果以字節(jié)為單位,參數(shù)值為 "bytes" ;對(duì)于千字節(jié)和兆字節(jié)可以使用縮寫(xiě)形式。同樣, sizefmt 參數(shù)必須放在 fsize 命令的前面才能使用。
<!--#config sizefmt="bytes" -->
<!--#fsize file="index.html" -->
2 、 Include 命令
Include 命令可以把其它文檔中的文字或圖片插入到當(dāng)前被解析的文檔中,這是整個(gè) SSI 的關(guān)鍵所在。通過(guò) Include 命令只需要改動(dòng)一個(gè)文件就可以瞬間更新整個(gè)站點(diǎn)!
Include 命令具有兩個(gè)不同的參數(shù):
Virtual :給出到服務(wù)器端某個(gè)文檔的虛擬路徑。例如:
<!--#include virtual="/includes/header.html" -->
File :給出到當(dāng)前目錄的相對(duì)路徑,其中不能使用 "../" ,也不能使用絕對(duì)路徑。例如:
<!--#include file="header.html" -->
這就要求每一個(gè)目錄中都包含一個(gè) header.html 文件。
3 、 Echo 命令
Echo 命令可以顯示以下各環(huán)境變量:
DOCUMENT_NAME :顯示當(dāng)前文檔的名稱(chēng)。
<!--#echo var="DOCUMENT_NAME" -->
顯示結(jié)果為:
index.html
DOCUMENT_URI :顯示當(dāng)前文檔的虛擬路徑。例如:
<!--#echo var="DOCUMENT_URI" -->
顯示結(jié)果為:
/YourDirectory/YourFilename.html
隨著網(wǎng)站的不斷發(fā)展,那些越來(lái)越長(zhǎng)的 URL 地址肯定會(huì)讓人頭疼。如果使用 SSI ,一切就會(huì)迎刃而解。因?yàn)槲覀兛梢园丫W(wǎng)站的域名和 SSI 命令結(jié)合在一起顯示完整的 URL ,即:
http://YourDomain<!--#echo var="DOCUMENT_URI" -->
QUERY_STRING_UNESCAPED :顯示未經(jīng)轉(zhuǎn)義處理的由客戶(hù)端發(fā)送的查詢(xún)字串,其中所有的特殊字符前面都有轉(zhuǎn)義符 "\" 。例如:
<!--#echo var="QUERY_STRING_UNESCAPED" -->
DATE_LOCAL :顯示服務(wù)器設(shè)定時(shí)區(qū)的日期和時(shí)間。用戶(hù)可以結(jié)合 config 命令的 timefmt 參數(shù),定制輸出信息。例如:
<!--#config timefmt="%A, the %d of %B, in the year %Y" -->
<!--#echo var="DATE_LOCAL" -->
顯示結(jié)果為:
Saturday, the 15 of April, in the year 2019
DATE_GMT :功能與 DATE_LOCAL 一樣,只不過(guò)返回的是以格林尼治標(biāo)準(zhǔn)時(shí)間為基準(zhǔn)的日期。例如:
<!--#echo var="DATE_GMT" -->
LAST_MODIFIED :顯示當(dāng)前文檔的最后更新時(shí)間。同樣,這是 SSI 中非常實(shí)用的一個(gè)功能,只要在 HTML 文檔中加入以下這行簡(jiǎn)單的文字,就可以在頁(yè)面上動(dòng)態(tài)的顯示更新時(shí)間。
<!--#echo var="LAST_MODIFIED" -->
CGI 環(huán)境變量
除了 SSI 環(huán)境變量之外, echo 命令還可以顯示以下 CGI 環(huán)境變量:
SERVER_SOFTWARE :顯示服務(wù)器軟件的名稱(chēng)和版本。例如:
<!--#echo var="SERVER_SOFTWARE" -->
SERVER_NAME : 顯示服務(wù)器的主機(jī)名稱(chēng), DNS 別名或 IP 地址。例如:
<!--#echo var="SERVER_NAME" -->
SERVER_PROTOCOL :顯示客戶(hù)端請(qǐng)求所使用的協(xié)議名稱(chēng)和版本,如 HTTP/1.0 。例如:
<!--#echo var="SERVER_PROTOCOL" -->
SERVER_PORT :顯示服務(wù)器的響應(yīng)端口。例如:
<!--#echo var="SERVER_PORT" -->
REQUEST_METHOD :顯示客戶(hù)端的文檔請(qǐng)求方法,包括 GET, HEAD, 和 POST 。例如:
<!--#echo var="REQUEST_METHOD" -->
REMOTE_HOST :顯示發(fā)出請(qǐng)求信息的客戶(hù)端主機(jī)名稱(chēng)。
<!--#echo var="REMOTE_HOST" -->
REMOTE_ADDR :顯示發(fā)出請(qǐng)求信息的客戶(hù)端 IP 地址。
<!--#echo var="REMOTE_ADDR" -->
AUTH_TYPE :顯示用戶(hù)身份的驗(yàn)證方法。
<!--#echo var="AUTH_TYPE" -->
REMOTE_USER :顯示訪問(wèn)受保護(hù)頁(yè)面的用戶(hù)所使用的帳號(hào)名稱(chēng)。
<!--#echo var="REMOTE_USER" -->
4 、 Fsize :顯示指定文件的大小,可以結(jié)合 config 命令的 sizefmt 參數(shù)定制輸出格式。
<!--#fsize file="index_working.html" -->
5 、 Flastmod :顯示指定文件的最后修改日期,可以結(jié)合 config 命令的 timefmt 參數(shù)控制輸出格式。
<!--#config timefmt="%A, the %d of %B, in the year %Y" -->
<!--#flastmod file="file.html" -->
這里,我們可以利用 flastmod 參數(shù)顯示出一個(gè)頁(yè)面上所有鏈接頁(yè)面的更新日期。方法如下:
<!--#config timefmt=" %B %d, %Y" -->
<A href="/directory/file.html" rel="external nofollow" >File</A>
<!--#flastmod virtual="/directory/file.html" -->
<A href="/another_directory/another_file.html" rel="external nofollow" >Another File</A>
<!--#flastmod virtual="/another_directory/another_file.html" -->
顯示結(jié)果為:
File April 19, 2019
Another File January 08, 2019
6 、 Exec
Exec 命令可以執(zhí)行 CGI 腳本或者 shell 命令。使用方法如下:
Cmd :使用 /bin/sh 執(zhí)行指定的字串。如果 SSI 使用了 IncludesNOEXEC 選項(xiàng),則該命令將被屏蔽。
Cgi :可以用來(lái)執(zhí)行 CGI 腳本。例如,下面這個(gè)例子中使用服務(wù)端 cgi-bin 目錄下的 counter.pl 腳本程序在每個(gè)頁(yè)面放置一個(gè)計(jì)數(shù)器:
<!--#exec cgi="/cgi-bin/counter.pl" -->
這次就介紹了,是不是很簡(jiǎn)單的。