天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

ASP.NET URL雙向改寫的實現(xiàn)

  我們在進行Web程序開發(fā)時,為了進行搜索引擎優(yōu)化(SEO),往往需要對web的訪問地址進行優(yōu)化,如將http://localhost/Default.ASPx?tab=performance修改為http://localhost/Default_performance.ASPx,后一個地址能夠更好地被搜索引擎搜索到,從而達到了搜索引擎優(yōu)化的目的。微軟有一個開源類庫URLRewriter可以非常方便地實現(xiàn)url改寫,通過配置在web.config文件中的映射表將用戶的請求重定向到具體的頁面中,我在“使用URLRewriter進行URL重寫失效”一文中詳細介紹了如何使用這個類庫,該類庫是通過ASP.NET的httpmodules或httphandles來執(zhí)行的,但如果網(wǎng)站的宿主服務(wù)器不支持ASP.NET httpmodules和httphandles,則該功能便失效了,這時我們可以通過global中的application_beginrequest事件來進行url重定向。本文在URLRewriter類庫的基礎(chǔ)上進行了改進,并給出了一個相對完整的解決方案。

  我們的改進是建立在URLRewriter的基礎(chǔ)之上的,所以URLRewriter原有的東西只要能用,我們都可以直接拿過來,當然,不好的東西要摒棄!

  URLRewriter的映射表是直接寫在web.config文件中的,要讓web.config能識別映射表,必須在configSections節(jié)中添加section,告訴程序如何正確解析web.config中未被識別的內(nèi)容,如原URLRewriter就需要在web.config中添加。我覺得這個方式并不好,首先你需要單獨去編寫一個類庫來解析xml,并在web.config中進行配置,我們完全可以省去這一步。url的映射表可以單獨寫到一個xml文件中,當程序運行時將xml加載到應(yīng)用程序緩存中,并設(shè)置一個緩存文件依賴項,這樣每當管理員修改完映射表后就可以馬上生效。

  另外我希望支持url的雙向改寫,即上面提到的兩個url,當用戶輸入第二個url時程序會將請求發(fā)送到第一個url,但瀏覽器中顯示的url不變;當用戶輸入第一個url時,自動跳轉(zhuǎn)到第二個url,此時瀏覽器中顯示的是第二個url,但是請求仍然是第一個url。聽起來是不是有點繞啊?沒關(guān)系,其實也很簡單,基本的需求就是說客戶原來網(wǎng)站中的很多頁面在訪問時都帶了很多參數(shù),做url改寫時都換成新的url了,這時舊的url仍然可以用,客戶想的就是當輸入原來舊的url時能自動跳轉(zhuǎn)到新的url。這個就是url的雙向改寫!這兩種方式可以分別通過Context.RewritePath()和Context.Response.Redirect()方法來實現(xiàn),下面我們來看具體的實現(xiàn)。

  首先是映射表的實現(xiàn)。我在URLRewriter原有映射表的基礎(chǔ)上做了一點改動,就是給ReWriterRule添加了一個IsDirect屬性,該屬性可選,默認值為False,當值為真時如果用戶請求的url匹配則會進行跳轉(zhuǎn),否則只是進行請求映射。 

xml version="1.0"?>
<ReWriterConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  
<Rules>
    
<ReWriterRule>
      
<LookFor>~/Default_(/w+)/.ASPxLookFor>
      
<SendTo>~/Default.ASPx?tab=$1SendTo>
    
ReWriterRule>
    
<ReWriterRule IsDirect="true">
      
<LookFor>~/Default/.ASPx/?tab=(/w+)LookFor>
      
<SendTo>~/Default_$1.ASPxSendTo>
    
ReWriterRule>
  
Rules>
ReWriterConfig>

NET技術(shù)ASP.NET URL雙向改寫的實現(xiàn),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 健身房被教练啪到腿软H | 60老妇性xxxxhd| 人妻夜夜爽天天爽三区麻豆AV网站 | 国内精品不卡一区二区三区 | 亚洲欧美一区二区三区蜜芽 | 中文字幕AV亚洲精品影视 | 亚洲免费网站观看视频 | 亚洲免费三区 | 国产精品亚洲欧美 | 脱jk裙的美女露小内内无遮挡 | 亚洲中文字幕永久在线全国 | 精品国产自在现线拍400部 | 午夜伦4480yy妇女久久 | 91天堂国产在线 在线播放 | 四虎免费影院 | 99国产精品白浆在线观看免费 | 亚洲 欧美 日韩 精品 自拍 | 97在线视频免费人妻 | 暖暖日本在线手机免费完整版 | 蜜臀AV人妻久久无码精品麻豆 | 国偷自产视频一区二区99 | 亚洲成 人a影院青久在线观看 | 亚洲精品无码一区二区三区四虎 | 国产人妻人伦精品无码.麻豆 | 伊人久久青草 | 99riav9 精品香蕉免费大视频 | 中文字幕不卡在线视频 | 99久久精品国产自免费 | 国产精品美女WWW爽爽爽视频 | 2019午夜75福利不卡片在线 | 男总裁憋尿PLAY灌尿BL | 中文在线中文资源 | 久久精品国产亚洲AV妓女不卡 | 黑粗硬大欧美在线视频 | 帅哥操帅哥| 又长又大又粗又硬3p免费视频 | 四虎视频最新视频在线观看 | 色偷偷亚洲男人天堂 | 国产1769一七六九视频在线 | 亚洲国产精品嫩草影院久久 | 福利一区福利二区 |