修改httpd.ini后請重啟IIS
以下是必須內容,不用修改
[ISAPI_Rewrite]
CacheClockRate 3600
RepeatLimit 32
#上面三行不要改動(dòng),以下為規則設置
RewriteRule /([0-9,a-z]*)/(\d+).html /$1/show.mobi?id=$2 [I]
#文件內容結束
附加說(shuō)明一下設置規則時(shí)的格式:
其他的參數一覽
I (ignore case)
不管大小寫(xiě)強行指定字符匹配,這個(gè)FLAG影響RewriteRule指令和相應的RewriteCond 指令
F (Forbidden)
對客戶(hù)端做反應,停止REWRITING進(jìn)程并且發(fā)送403錯誤,注意在這種情況下FORMATSTRING 是無(wú)用的并可以設置為任何非空字符串。
L (last rule)
不應用任何重寫(xiě)規則在此停止重寫(xiě)進(jìn)程,使用這個(gè)FLAG以阻止當前被重寫(xiě)的URI被后面的規則再次重寫(xiě)
N (Next iteration)
強制REWRITINGENGINE調整規則目標并且從頭重啟規則檢查(所有修改將保存),重啟次數由RepeatLimit指定的值限制,如果這個(gè)數值超過(guò)N FLAG將被忽略
NS (Next iteration of the same rule)
以N標記工作不從相同的規則重啟規則規則進(jìn)程(例如強制重復規則應用),通過(guò)RepeatLimit指令指定一個(gè)反復實(shí)行某一規則的最大數目,
P (force proxy)
強制目的URI在內部強制為代理需求并且立即通過(guò)ISAPI擴展應付代理需求,必須確認代理字符串是一個(gè)有效的URI包括協(xié)議主機等等否則代理將返回錯誤
R (explicit redirect)
強制服務(wù)器對客戶(hù)端發(fā)出重定向指示即時(shí)應答,提供目的URI的新地址,重定向規則經(jīng)常是最后規則
RP (permanent redirect)
幾乎和[R]標記相同但是發(fā)布301HTTP狀態(tài)而不是302HTTP狀態(tài)代碼
U (Unmangle Log)
當URI是源需求而不是重寫(xiě)需求時(shí)記載URI
O (nOrmalize)
在實(shí)行之前標準化字符串。標準化包括URL-ENCODING,不合法的字符的再移動(dòng)等,這個(gè)標記對于URLS和URLS-ENDODED頭是有用的
CL (Case Lower)
小寫(xiě)
CU (Case Upper)
大寫(xiě)
另外,設置時(shí)就是用正則表達示模糊匹配。
簡(jiǎn)單一下常用的:
([a-z]*) 匹配小寫(xiě)英文字母
(\d+) 和 ([0-9]*) 匹配數字
(.*) 模糊匹配,包括字母和數字及其他非換行符號
例:
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# 放在根目錄
# 不帶參數直接轉的
RewriteRule /index\.html /index\.asp
#帶一個(gè)數字型參數的
RewriteRule /index-(\d+)\.html /index\.asp\?id=$1
#帶一個(gè)字母數字混和型參數的
RewriteRule /index-([0-9,a-z]*)\.html /index\.asp\?sname=$1
#帶一個(gè)字母型參數的
RewriteRule /index_([a-z]*)\.html /index\.asp\?name=$1
#帶一個(gè)數字型參數的
RewriteRule /show-(\d+)\.html /show\.asp\?id=$1
#帶一個(gè)字母型參數加兩個(gè)數字的
RewriteRule /show-([a-z]*)-(\d+)-(\d+)\.html /show\.asp\?lx=$1&anid=$2&nid=$3