用URLRewriter重写url
2015-04-30 18:11 糯米粥 阅读(2813) 评论(0) 编辑 收藏 举报用url重新一般都是使用URLRewriter库,基本上都是一些配置,在webconfig中
首先配置configuration节点
<configSections> <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler,URLRewriter" /> </configSections>
<system.web>节点下配置httpHandlers和httpModules,二者配置其一即可
httpModules配置
<httpModules> <add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" /> </httpModules>
httpHandlers配置
<httpHandlers> <add verb="*" path="/*/list/*" type="URLRewriter.RewriterFactoryHandler,URLRewriter" /> <add verb="*" path="/group/*" type="URLRewriter.RewriterFactoryHandler,URLRewriter" /> </httpHandlers>
<remove verb = "* " path = "*.asmx " />
<add verb = "* " path = "* " type = "URLRewriter.RewriterFactoryHandler, URLRewriter" />
<add verb = "* " path = "*.html " type =" URLRewriter.RewriterFactoryHandler, URLRewriter " />
<system.webServer>节点下添加
<handlers> <add name="Rewriter" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None"
preCondition="classicMode,runtimeVersionv4.0,bitness32" /> </handlers>
接下来就是写规则了。在webconfig的configuration内部的最底部添加RewriterConfig节点,并写规则
<!--url重写规则--> <RewriterConfig> <Rules> <!--店铺--> <RewriterRule> <LookFor>~/(.*)/list/(.*)</LookFor> <SendTo>~/group/itemlist.aspx?name=$1&keyword=$2</SendTo> </RewriterRule> <RewriterRule> <LookFor>~/group/(.*)</LookFor> <SendTo>~/group/circle.aspx?name=$1</SendTo> </RewriterRule> </Rules> </RewriterConfig>
这些基本上已经好了。但发布到iis上还需配置一些东西。即处理映射
选择你发布的网站。选择"处理程序映射"
然后:
选择路径:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
保存即可。