用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
保存即可。