程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> .net 實現 URL重寫,偽靜態

.net 實現 URL重寫,偽靜態

編輯:關於ASP.NET

     一,獲得Mircosoft URLRewriter.dll:

    獲得Mircosoft URLRewriter.dll可以到http://www.microsoft.com/china/msdn/library/webservices/asp.net/URLRewriting.mspx?mfr=true

     


    下載完畢後,導入工程,我這裡沒有對該工程做任何修改,保留了原來的重寫方式,然後直接在VS2005裡面生成.dll文件就可以了。
    二,使用該dll文件:
    添加引用,搞定。
    三,頁面方面的設計,這裡不在贅述了,我會放一個下載包,有興趣的朋友下載來看看吧,代碼寫的比較亂。
    四,web.config的配置
    這部是非常關鍵的,也是靜態化能否成功的關鍵。

    <?xml version="1.0"?>
    <configuration>
    <configSections>
    <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
    </configSections>

    <RewriterConfig>
    <Rules>
    <RewriterRule>
    <LookFor>~/web/new/type/(.[0-9]*)/.html</LookFor>
    <SendTo>~/web/new.aspx?id=$1</SendTo>
    </RewriterRule>
    <RewriterRule>
    <LookFor>~/web/index.html</LookFor>
    <SendTo>~/web/index.aspx</SendTo>
    </RewriterRule>
    </Rules>
    </RewriterConfig>
    <system.web>
    <httpHandlers>
    <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
    <add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
    </httpHandlers>
    <compilation debug="true"/></system.web>
    </configuration>

    這裡簡單介紹一下:

    <RewriterConfig>
    <Rules>
    <RewriterRule>
    <LookFor>要查找的模式</LookFor>
    <SendTo>要用來替換模式的字符串</SendTo>
    </RewriterRule>
    <RewriterRule>
    <LookFor>要查找的模式</LookFor>
    <SendTo>要用來替換模式的字符串</SendTo>
    </RewriterRule>
    </Rules>
    </RewriterConfig>
    httpHandlers的設置主要是配合IIS將請求重新定義處理,這裡也比較關鍵,如果不存在合理的httpHandlers,那麼,訪問肯定會失敗的。

    關於正則表達式,可以到百度裡搜索:"常用正則表達式",會有很多。

    五.配置IIS解析.html文件
    右鍵點我的電腦-->管理-->展開'服務和應用程序'-->internet信息服務-->找到你共享的目錄-->右鍵點擊屬性 -->點擊'配置'-->映射下面 -->找到.aspx的可執行文件路徑 復制路徑-->粘貼路徑-->擴展名為".html"-->然後把檢查文件是否存在的勾去掉這樣就可以了,如果遇到“確定”按鈕失效,可以用鍵盤事件編輯路徑即可解決。

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