程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> URLRewriter最簡單入門介紹 URLRewriter相關資源

URLRewriter最簡單入門介紹 URLRewriter相關資源

編輯:ASP.NET基礎

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>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved