天天看點

.net UrlReWriter 使用經驗小結

下載下傳位址:http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi

UrlRewriter 是微軟封裝好了的一個URL重寫元件。使用它可以讓我節約很多自已開發的時間。

好了,開始講述我的應用經驗,這隻是很菜鳥的經驗,高手就不用看了。

第一步,請從此下載下傳此元件。解壓,把UrlRewriter.dll copy到你的項目 bin 目錄下。

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

<configSections>

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

  </configSections>

  <RewriterConfig>

    <Rules>

      <!-- Rules for Blog Content Displayer -->

      <RewriterRule>

        <LookFor>~/read/(.[0-9]*)/.aspx</LookFor>

        <SendTo>~/read.aspx?aid=$1</SendTo>

      </RewriterRule>

      <RewriterRule>

        <LookFor>~/read/(.[0-9]*)/.html</LookFor>

        <SendTo>~/read.aspx?aid=$1</SendTo>

      </RewriterRule>

      <RewriterRule>

        <LookFor>~/read/(.[0-9]*)/.htm</LookFor>

        <SendTo>~/read.aspx?aid=$1</SendTo>

      </RewriterRule>

      <RewriterRule>

        <LookFor>~/read/(.[0-9]*)/.do</LookFor>

        <SendTo>~/read.aspx?aid=$1</SendTo>

      </RewriterRule>

      <RewriterRule>

        <LookFor>~/read/(.[0-9]*)</LookFor>

        <SendTo>~/read.aspx?aid=$1</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>

    </Rules>

  </RewriterConfig>

加入到<configuration>節點的第一位;

<httpModules>

      <add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>

    </httpModules>

    <!--<httpHandlers>

  <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />   

 </httpHandlers>-->

加入到<system.web>節點的第一位;

第三步

在IIS/你的站點/屬性/主目錄/配置/映謝 加入一個和 aspx 頁面的配置相同的擴充名項。注意“确認檔案是否存在”不要勾選,否則會出現找不到檔案

到此你可以任意重寫URL了,字尾可以是htm,php,asp等等.如何不做第三步擴充隻能為aspx

第四步:加入窗體回傳保持的元件:

在原來你下載下傳的項目裡找到 ActionlessForm.dll 放到你的項目 bin 目錄下。

然後在你的這個頁面中加入:

<%@ Register TagPrefix="skm" Namespace="ActionlessForm" Assembly="ActionlessForm" %>

再把你的<Form...>改為:

<skm:Form id="你的表單名" method="post" runat="server">

.....

</skm:Form>

That's All.現在你可以高枕無憂了。一切如你所願。

繼續閱讀