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