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


浙公网安备 33010602011771号