ASP.NET WebForm URL重写方案总结
2019-12-16ASP.NET MVC有自己的路由可以实现重写,ASP.NET webform要实现重写一般需要借助第三方的组件来实现,今天我们来盘点下ASP.NET webform下的URL重写有哪些方案,对各种方案的特点做一个小的总结。
1、Intelligencia.UrlRewriter.dll
这种方案是不需要安装软件,引用dll文件即可实现,比较方便。缺点是年代久远已经不维护了,而且官网也被其他网站注册了,个人使用完全没问题的。
使用方法:首先引用dll文件,然后在webconfig配置如下参数
<configSections> <section name="rewriter" requirePermission="false" type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" /> </configSections> <rewriter> <rewrite url="^/tag/(.*)/$" to="/tag.aspx?tagname=$1" processing="stop"/> </rewriter> <system.web> <httpModules> <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" /> </httpModules> </system.web>
注意:此配置适用于经典模式
2、ISAPI_Rewrite3
这个是安装软件,下载地址http://www.helicontech.com/isapi_rewrite/download.html 软件分商业版和免费版本,如果一台机器上站点不多,而且只做url重写的话,免费版本足够用了。
ISAPI_Rewrite的Lite版本共享相同的重写引擎和功能,但有以下限制:
不支持分布式.htaccess配置、目录和网站级配置。只有一个全局httpd.conf配置文件将从Lite版本安装文件夹加载。
不支持<VirtualHost>、<Directory>、<DirectoryMatch>、<Files>、<FilesMatch>、<Location>和<LocationMatch>标记。
Lite版本中没有代理模块,因此将忽略所有与代理相关的函数,如RewriteProxy指令和[P]标志。
没有在共享宿主环境中安装Lite版本的手动安装包。
ISAPI_Rewrite-Lite是完全免费的,它是一个很好的解决方案,可用于开发或测试目的,也可用于小型服务器,这些服务器仅承载少数网站,不需要分布式配置或代理功能。
安装好之后就直接打开 ISAPI_Rewrite Manager编辑对应的重写规则即可
RewriteRule ^/article/(.*).html.*$ /news.aspx?id=$1
RewriteRule ^/review/([0-9]+)-([0-9]+).htm?.*$ /Review.aspx?Tid=$1&Cid=$2
3、微软官方URLrewrite重写组件
适用于: IIS 7, IIS 7.5, IIS 8, IIS 8.5, IIS 10
下载地址:https://www.iis.net/downloads/microsoft/url-rewrite
安装好软件之后打开网站管理选择对应的网站切换到功能视图可以看到一个URL Rewrite模块
新建空白规则
这样就配置了 访问http://localhost/article/a.html 跳转 http://localhost/article/news.aspx?hid=a
对应规则如下,这个规则可以在ApplicationHost.config 或者 Web.config 中查看
<rewrite> <rules> <rule name="article"> <match url="^article/(.*).html" /> <action type="Rewrite" url="article/news.aspx?hid={R:1}" /> </rule> </rules> </rewrite>
更多使用方法:https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/creating-rewrite-rules-for-the-url-rewrite-module
综上所述,建议使用第二种或者第三种方案,本文需要的下载文件链接:
https://pan.baidu.com/s/1euuhV-ADZp1XEn3Rszk4Aw
提取码: am9u