• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    在ASP.NET中重寫URL提高你網站上網頁的搜索相關性

    發布: 2008-5-07 13:43 | 作者: 網絡轉載 | 來源: 本站原創 | 查看: 121次 | 進入軟件測試論壇討論

    領測軟件測試網

     這使得你的編碼極其干凈,并且擴展性非常之好。

      樣例下載:我建立的一個使用UrlRewriter.Net模塊展示這個技術的樣例應用可以在這里下載。

      這個樣例和這個技術的很好的地方在于,為部署使用這個方法的ASP.NET應用,不需作任何服務器配置改動。在設置為中等信任安全等級 (medium trust)的共享主機的環境里,這個技術也行之有效 (只要把文件FTP/XCOPY到遠程服務器就可以了,不需要安裝)。
      方法三:在IIS7中使用HttpModule 實現無擴展名的URL重寫

      上述的HttpModule方法在你要重寫的URL含有.aspx 擴展名或者包含另一個被設置為ASP.NET處理的擴展名的情形下一切都工作。你這么做的話,不需要任何特定的服務器配置,你只要把你的應用拷貝到遠程服務器,它會正常工作的。

      但有的時候,你要重寫的URL要么擁有一個不為ASP.NET處理的文件擴展名(譬如, .jpg, .gif, 或 .htm),要么根本沒有擴展名。譬如,我們也許要把這些URL呈示成公開的產品目錄網頁(注意,它們沒有 .aspx 擴展名):
    http://www.store.com/products/Books http://www.store.com/products/DVDs http://www.store.com/products/CDs
      在 IIS5 和 IIS6 中,使用ASP.NET處理上面這樣的URL不是很容易。 IIS 5/6 使得在ISAPI擴展(ASP.NET就是這樣一個擴展)里非常難以重寫這些類型的URLS。你需要做的是使用ISAPI過濾器在IIS請求管道 (request pipeline)的較早期實現重寫。我將在下面的第四個方法里示范如何在 IIS5/6 實現這樣的重寫。

      但好消息是, IIS 7.0使得處理這類情形容易之極。你現在可以在 IIS 請求管道的任何地方執行一個HttpModule,這意味著你可以使用上面的URLRewriter 模塊 來處理和重寫無擴展名的URL(甚至是帶有 .asp,.php,或 .jsp 擴展名的URL)。下面示范了你在IIS7中該如何配置:
    <?xml version="1.0" encoding="UTF-8"?> <configuration> <configSections> <section name="rewriter" requirePermission="false" type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" /> </configSections> <system.web> <httpModules> <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" /> </httpModules> </system.web> <system.webServer> <modules runAllManagedModulesForAllRequests="true"> <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule" /> </modules> <validation validateIntegratedModeConfiguration="false" /> </system.webServer> <rewriter> <rewrite url="~/products/(.+)" to="~/products.aspx?category=$1" /> </rewriter> </configuration>
      注意一下<system.webServer>內<modules>部分設置為true的 runAllManagedModulesForAllRequests屬性。這個屬性確保來自Intelligencia的 UrlRewriter.Net模塊(是在IIS7正式發布前編寫的),會被調用,有機會重寫到服務器的所有URL請求(包括文件夾)。上面的 web.config文件非?嶂幵谟冢

      1) 它在任何IIS7機器上都會工作,你不需要管理員在遠程主機上啟用任何東西,它也能在設置為中等信任安全等級(medium trust)的共享主機的環境場景下工作。

      2) 因為我在<httpModules>和 IIS7 的<modules> 部分同時配置了UrlRewriter,我既能在 VS內置的web服務器(即Cassini)中,也能在IIS7下使用同樣的URL重寫規則。兩者完全支持無擴展名的URL重寫。這使得測試開發非常容易。

      IIS 7.0 將在今年的晚些時候作為Windows Longhorn服務器的一部分發布,將在幾個星期內隨Beta3版本的發布支持go-live許可。由于添加到IIS7中的所有的新宿主 (hosting)特性,我們預期主機供應商將會非?斓亻_始積極提供IIS7賬號,這意味著你應該很快就可以開始利用上述的無擴展名的URL重寫支持。我們將在 IIS7 RTM 時段里發布一個為微軟所支持的URL重寫模塊,該模板是免費的,你可以在IIS7上使用,并且這模塊將對你web服務器上的所有內容的高級URL重寫場景提供很好的支持。

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    33/3<123

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>