URLRewriter控件制作伪静态示例

第一步,将URLRewriter.dll拷贝至bin目录。
第二步,配置web.config,注册dll并编写规则,如下:
        <configSections>
            <section name="RewriterConfig" requirePermission="false" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler,URLRewriter" />
        </configSections>

        <RewriterConfig>
        <Rules>
          <RewriterRule>
            <LookFor>~/product/ProductInfo/(\d{0,999999})\.html</LookFor>
            <SendTo>~/product/ProductInfo.aspx?id=$1</SendTo>
          </RewriterRule>
          <RewriterRule>
            <LookFor>~/product/ProductList/(\d{0,999999})\.html</LookFor>
            <SendTo><![CDATA[~/product/ProductList.aspx?type=Category&ID=$1]]></SendTo>
          </RewriterRule>
          <RewriterRule>
            <LookFor>~/product/ProductList/(\d{0,999999})/(\d{0,999999})/([\S]+)/(\d{0,999999})</LookFor>
            <SendTo><![CDATA[~/product/Productlist.aspx?CategoryID=$1&ProductName=$2&txtKey=$3&Page=$4]]></SendTo>
          </RewriterRule>
          <RewriterRule>
            <LookFor>~/product/aList/(\d{0,999999})\.html</LookFor>
            <SendTo><![CDATA[~/Product/aList.aspx?type=Category&CategoryID=$1]]></SendTo>
          </RewriterRule>
          <RewriterRule>
            <LookFor>~/News/ShowInfo/(\d{0,999999})/(\d{0,999999})\.html</LookFor>
            <SendTo><![CDATA[~/News/ShowInfo.aspx?ID=$1&CategoryID=$2]]></SendTo>
          </RewriterRule>
          <RewriterRule>
            <LookFor>~/News/infolist/(\d{0,999999})\.html</LookFor>
            <SendTo>~/News/infolist.aspx?CategoryID=$1</SendTo>
          </RewriterRule>
          <RewriterRule>
            <LookFor>~/News/infolist/(\d{0,999999})/([\S]+)/(\d{0,999999})</LookFor>
            <SendTo><![CDATA[~/News/infolist.aspx?CategoryID=$1&newsKey=$2&Page=$3]]></SendTo>
          </RewriterRule>
          <RewriterRule>
            <LookFor>~/Company/Company_Browse/(\d{0,999999})\.html</LookFor>
            <SendTo>~/Company/Company_Browse.aspx?id=$1</SendTo>
          </RewriterRule>
          <RewriterRule>
            <LookFor>~/Company/Company_Browse_job/(\d{0,999999})\.html</LookFor>
            <SendTo>~/Company/Company_Browse_job.aspx?id=$1</SendTo>
          </RewriterRule>
          <RewriterRule>
            <LookFor>~/Company/Company_Browse_us/(\d{0,999999})\.html</LookFor>
            <SendTo>~/Company/Company_Browse_us.aspx?id=$1</SendTo>
          </RewriterRule>
        </Rules>
      </RewriterConfig>
      <system.web>
    //将dll添加到httpHandlers和httpModules
    <httpHandlers>
      <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
    </httpHandlers>
    <httpModules>
      <add name="ModuleRewriter" type="URLRewriter.ModuleRewriter,URLRewriter" />
    </httpModules>
   
    第三步,完成web.config配置以后,向IIS服务器添加用于处理web请求的处理程序映射,如图:
   



附:通过web.config添加aspnet_isapi.dll方法:
比如我们要映射后缀为 .htm
在<configuration>节点下添加
<system.webServer>
        <handlers>
            <add name="htm" path="*.htm" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
        </handlers>
    </system.webServer>

     第四步,完成以上工作以后,就可以在浏览器地址中输入定义了规则的静态地址访问页面了。如图:

posted @ 2018-10-09 11:27  skybirdzw  阅读(295)  评论(0)    收藏  举报