url重写为正解,为实现干净的、有可读性的URL,可以使用某些方法映射到相关网页上处理,并不被用户发觉。
以ASP.NET下使用UrlRewriter为例,在项目中引用Intelligencia.UrlRewriter.dll
在web.config的 Configuration 节中配置:
<configSections>
<section name="rewriter" requirePermission="false" type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" />
</configSections>
在<system.web>节配置:
<system.web>
<httpModules>
<add type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" name="UrlRewriter" />
</httpModules>
</system.web>
然后加入重写规则:
<rewriter>
<if url="/tags/(.+)" rewrite="/tagcloud.aspx?tag=$1" />
<rewrite url="/user/(.+)" to="/showuser.aspx?tag=$1" />
</rewriter>
即可实现重写功能,当然你也可以在IIS引用其它重写插件实现此类功能。
文中提到的组件详细请参考http://urlrewriter.net