日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用URLRewriter实现URL重写

發(fā)布時間:2023/11/30 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用URLRewriter实现URL重写 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

優(yōu)點

??? 1)隱藏真實URL,提高安全性

??? 2)更加友好的URL,好記(看博客園就行知道啦)

??? 3)便于搜素引擎收錄

??? .........

可能的缺點

????使用URL重寫可能導(dǎo)致:

??? 1)圖片路徑的問題

??? 2)CSS路徑的問題

??? 3)性能問題

??? .........

先下載DLL包,附帶了源碼的.

?

download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi

?

URLRewriter.dll和ActionlessForm.dll

或者只使用DLL 本人已經(jīng)上傳:http://files.cnblogs.com/yun_shuai/URLRewriter.rar?含有上面2個DLL

?

使用方法? :WEB項目中添加引用

?

webconfig中配置:

1 <configSections> 節(jié)點中增加:

?? <section?name="RewriterConfig"?type="URLRewriter.Config.RewriterConfigSerializerSectionHandler,URLRewriter"/>

?

2 <configuration>根節(jié)點中增加URL重寫的配置:? 可以使用正則表達式

???
? <RewriterConfig>
?<Rules>
??<!-- Rules for Blog Content Displayer -->
??<RewriterRule>
???<LookFor>~/(\d{4})/(\d{2})/(\d{2})\.aspx</LookFor>
???<SendTo>~/ShowBlogContent.aspx?year=$1&amp;month=$2&amp;day=$3</SendTo>
??</RewriterRule>
??<RewriterRule>
???<LookFor>~/(\d{4})/(\d{2})/Default\.aspx</LookFor>
???<SendTo><![CDATA[~/ShowBlogContent.aspx?year=$1&month=$2]]></SendTo>
??</RewriterRule>
??<RewriterRule>
???<LookFor>~/(\d{4})/Default\.aspx</LookFor>
???<SendTo>~/ShowBlogContent.aspx?year=$1</SendTo>
??</RewriterRule>
??
?
??<!-- Rules for Product Lister -->
??<RewriterRule>
???<LookFor>~/Products/Default\.aspx</LookFor>
???<SendTo>~/ListCategories.aspx</SendTo>
??</RewriterRule>
??<RewriterRule>
???<LookFor>~/Products/Beverages\.aspx</LookFor>
???<SendTo>~/ListProductsByCategory.aspx?CategoryID=1</SendTo>
??</RewriterRule>
??<RewriterRule>
???<LookFor>~/Products/Condiments\.aspx</LookFor>
???<SendTo>~/ListProductsByCategory.aspx?CategoryID=2</SendTo>
??</RewriterRule>
??<RewriterRule>
???<LookFor>~/Products/Confections\.aspx</LookFor>
???<SendTo>~/ListProductsByCategory.aspx?CategoryID=3</SendTo>
??</RewriterRule>
??<RewriterRule>
???<LookFor>~/Products/Dairy\.aspx</LookFor>
???<SendTo>~/ListProductsByCategory.aspx?CategoryID=4</SendTo>
??</RewriterRule>
??<RewriterRule>
???<LookFor>~/Products/GrainsCereals\.aspx</LookFor>
???<SendTo>~/ListProductsByCategory.aspx?CategoryID=5</SendTo>
??</RewriterRule>
??<RewriterRule>
???<LookFor>~/Products/MeatPoultry\.aspx</LookFor>
???<SendTo>~/ListProductsByCategory.aspx?CategoryID=6</SendTo>
??</RewriterRule>
??<RewriterRule>
???<LookFor>~/Products/Produce\.aspx</LookFor>
???<SendTo>~/ListProductsByCategory.aspx?CategoryID=7</SendTo>
??</RewriterRule>
??<RewriterRule>
???<LookFor>~/Products/Seafood\.aspx</LookFor>
???<SendTo>~/ListProductsByCategory.aspx?CategoryID=8</SendTo>
??</RewriterRule>
?</Rules>
? </RewriterConfig>

?

3 <httpModules> 增加
??<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />

? 或者


?<httpHandlers> 增加
??<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />

?

4 完成.

?

5 其他問題:

?

?? 回發(fā)后真實路徑再現(xiàn):

????? 1、將ActionlessForm.dll添加到項目的bin文件夾

????? 2、在aspx網(wǎng)頁的代碼中加<%@ Register TagPrefix="RW" Namespace="ActionlessForm" Assembly="ActionlessForm" %>

????? 3、然后將form標簽改為RW:Form(注意開始和結(jié)束都要改),TagPrefix可以自定義


另外:DOTNET3.5 提供了 System.Web.Routing?命名空間

可以自己實現(xiàn)想要的URL重寫.

?

參考文章:

http://www.cnblogs.com/Ferry/archive/2009/06/19/1506770.html

http://www.blogjava.net/Unmi/archive/2010/06/14/323349.html

從以上2篇文章地址可以看出,其服務(wù)器也使用了URL重寫方式

?

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/yun_shuai/archive/2010/07/31/1789314.html

總結(jié)

以上是生活随笔為你收集整理的使用URLRewriter实现URL重写的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。