1. URLRewriter 相關資源:
http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi
http://msdn.microsoft.com/zh-cn/library/ms972974.aspx
http://blog.csdn.net/chenghp/archive/2007/04/10/1559212.aspx
2. URLRewriter 二級域名的實現:
http://www.cnblogs.com/jzywh/archive/2006/02/20/seconddomainurlrewriter.html
http://www.cnblogs.com/jzywh/archive/2005/09/29/246650.html
3. 適用場合 IIS相關配置:
配置好後,查看日志看到的狀態都是200,IIS直接認為這個文件是存在的了,
而不是301,或302,這在某些情況下可能會不適用,比如:搜索引擎優化時目錄或文件調整。
默認只支持.net格式的重定向 比如:.aspx格式的重定向。
如:show_12_yongfa365.aspx --> show.aspx?id=12&name=yonga365
如果想實現,*.html這樣的格式(一般我們就用這種方法實現.net 偽靜態)
如:show_12_yongfa365.html --> show.aspx?id=12&name=yonga365
得在站點裡加上相關“應用程序擴展”
添加方法:右擊相關站點-->屬性-->主目錄-->配置-->映射-->
在裡面找到擴展名是.aspx的記錄,雙擊,復制裡面的可執行文件裡的內容,關閉
回到了應用程序配置裡,點添加,粘貼剛才復制的地址,擴展名裡輸入".html",把“確認文件是否存在”的勾去掉。
OK,IIS上相關配置就配好了。
4.下載相關文件:
請從此下載UrlRewriter組件。安裝,把安裝目錄下裡的 UrlRewriter.dll copy 到你的項目 bin 目錄下。
5.配置 Web.config:
在<configuration>標簽裡加上:
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
<!--URLRewriter重寫規則,不會正則表達式的到網上找找,柳永法當時在車上兩小時看完相關文檔,感覺就看會了。-->
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/(\d+).aspx</LookFor>
<SendTo>~/Default.aspx?page=$1</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
在<system.web>標簽裡加上:
<httpModules>
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />
</httpModules>
<!--
<httpHandlers>
<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>
-->
6. 加入窗體回傳保持的組件:
如果你的頁面有回傳。比如說放了DataGrid 或 GridView等,有分頁的會出問題,解決方法:
在原來你下載的項目裡找到 ActionlessForm.dll 放到你的項目 bin 目錄下。
然後在你的這個頁面中加入:
<%@ Register TagPrefix="skm" Namespace="ActionlessForm" Assembly="ActionlessForm" %>
再把你的<Form...>改為:
<skm:Form id="你的表單名" method="post" runat="server">
.....
</skm:Form>