實現步驟:
第一步:下載ISAPI_Rewrite.rar,將Rewrite文件夾和httpd.ini直接放在項目根目錄下面。
第二步:IIS配置,篩選Rewrite文件夾里面的Rewrite.dll文件,如圖:
第三步:在httpd.ini文件,用正則配置url重寫路徑。


[ISAPI_Rewrite]
#?3600?=?1?hour
CacheClockRate?3600
RepeatLimit?32
#簡單頁面重寫
RewriteRule?/News/([-\d]+)/(\d+)\.html?/News_Detail\.aspx\?c_id=$1&n_id=$2
RewriteRule?/News/([-\d]+).html?/News_List\.aspx\?c_id=$1
#二級域名重寫配置
RewriteCond?Host:?(?!www)([^.]+).pifazhinan.cn
RewriteRule?^/??/Shop/Index\.aspx\?uname=$1?[I]
RewriteCond?Host:?(?!www)([^.]+).pifazhinan.cn
RewriteRule?^/Products/(\d+)\.html?/Shop/product_detail\.aspx\?uname=$1&p_id=$2?[I]
?
這樣,頁面重寫已經實現了,但是在被重寫的頁面提交表單時候,提交后重寫效果會失效,直接跳轉到原有的頁面。這時候就需要用到微軟提供的ActionlessForm.dll。
第四步:引用ActionlessForm.dll,將重寫頁面的<form runat="server"></form>表單代碼,改成:
<%@?Register?TagPrefix="skm"?Namespace="ActionlessForm"?Assembly="ActionlessForm"?%>
<skm:Form?id="Form1"?method="post"?runat="server"></skm:Form>
<skm:Form?id="Form1"?method="post"?runat="server"></skm:Form>
?