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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UrlRewriter 伪url的配置

發(fā)布時(shí)間:2025/3/8 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UrlRewriter 伪url的配置 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

UrlRewriter 是微軟封裝好了的一個(gè)URL重寫組件。使用它可以讓我節(jié)約很多自已開發(fā)的時(shí)間。

好了,開始講述我的應(yīng)用經(jīng)驗(yàn),這只是很菜鳥的經(jīng)驗(yàn),高手就不用看了。

第一步,請從此下載此組件。解壓,把UrlRewriter.dll copy到你的項(xiàng)目 bin 目錄下。

第二步,在Web.config中加入:

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

加入重寫的規(guī)則節(jié)點(diǎn):
?? <RewriterConfig>
????????? <Rules>
????????????? <RewriterRule>
?????????????????? <LookFor>~/Sell/(.[0-9]*)\.html</LookFor>
?????????????????? <SendTo>~/Search/Search_Sell.aspx?id=$1</SendTo>
????????????? </RewriterRule>
????????? </Rules>
???? </RewriterConfig>

這個(gè)就要根據(jù)你的需要了,如果你對正則表達(dá)式不熟,那么沒辦法,要么憑借你的高智商去找其中規(guī)律,稍稍改一下就能為你所用了。呵呵。如果實(shí)在搞不清,那就自己GOOGLE一下正則表達(dá)式吧。(本人開始是參考別人的配置猜的,竟然用對了,呵呵。后來還是看了一下相關(guān)資料,發(fā)現(xiàn)這東東很有用。)

第三步,加入模塊配置(寫在<system.web>里面):
<httpHandlers>
???? <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>
(這里表示使用HTTP程序來處理重寫)

好了,到了現(xiàn)在我們可以試一下看。

于是輸入:http://127.0.0.1:8080/Sell/1.aspx 出現(xiàn)了,呵呵。但是如果所它改為:http://127.0.0.1:8080/Sell/1.html
暈,發(fā)現(xiàn)不行。汗。。。
呵呵,原因是沒把HTML的解析用 asp.net 的ISAPI來解析。
辦法是。。。

第四步,在IIS\你的站點(diǎn)\屬性\主目錄\配置\映謝 加入一個(gè)和 aspx 頁面的配置相同的擴(kuò)展名項(xiàng)。擴(kuò)展名為.html,注意“確認(rèn)文件是否存在”不要勾選,否則會(huì)出現(xiàn)找不到文件。

現(xiàn)在再來試試看。什么?#¥%#¥%#,還是不行。呵呵。不要急,咱們回過頭再來看看,原來在 web.config 中我們沒有配置 .html 也使用模塊此解析。

第五步,在模塊配置中加入:
<httpHandlers>
???? <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>

現(xiàn)在總可以了吧,呵呵。終于看到了,興奮吧。不要急,這還只是最簡單的。如果你的頁面有回傳。比如說放了DATAGRID,有分頁的,你點(diǎn)到下一頁就發(fā)現(xiàn),暈倒,又出問題了。
這下怎么辦呢,這個(gè)其實(shí)微軟件的網(wǎng)站上就有說到,我在這里簡述一下了。

方法一

對于ASPX頁面,我們在客戶端查看代碼時(shí)會(huì)發(fā)現(xiàn),它自動(dòng)為form加入了action,并且地址就是開頭所說的原始頁面地址。而對于ASPX頁面,若當(dāng)它的action為空時(shí)也就將回發(fā)到當(dāng)前地址。這樣我們就可以通過在客戶端清除action的方法,來實(shí)現(xiàn)回發(fā)后繼續(xù)保持有地址。

在頁面中加入以下代碼即可:
<script type="text/javascript">try{document.forms[0].action=""}catch(ex){}</script>
如果有form的頁面,就把上面代碼加入<form></form>中,如果是用戶控件就直接加到頁面里面即可
此種方法最簡單最使用,已經(jīng)過測試

方法二
第六步,加入窗體回傳保持的組件:
在原來你下載的項(xiàng)目里找到 ActionlessForm.dll 放到你的項(xiàng)目 bin 目錄下。

然后在你的這個(gè)頁面中加入:
<%@ Register TagPrefix="skm" Namespace="ActionlessForm" Assembly="ActionlessForm" %>
再把你的<Form...>改為:
<skm:Form id="你的表單名" method="post" runat="server">
.....
</skm:Form>

That's All.現(xiàn)在你可以高枕無憂了。一切如你所愿。

最后,恭祝各位一切順利。

多參數(shù):
web.config
<RewriterRule>
??? <LookFor>~/product/sub/Y/([A-Za-z0-9\s]+)/([A-Za-z0-9\s]+)\.html</LookFor>
??? <SendTo>~/product/sub_category.aspx?txt_l0=$1&amp;txt_l1=$2&amp;showbrand=Y</SendTo>
?? </RewriterRule>

轉(zhuǎn)載于:https://www.cnblogs.com/9who/archive/2010/06/09/1754739.html

總結(jié)

以上是生活随笔為你收集整理的UrlRewriter 伪url的配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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