您的位置:首页 > 其它

【随笔★URL重写】让Intelligencia.UrlRewriter.dll支持独立的配置文件

2012-05-24 15:29 337 查看
使用URLRewriter做重写,如果将规则写在Web.Config中,修改的时候如果格式写错会造成整个系统无法运行,即使配置正确,也会造成系统“重启”。

所以我就想能不能重新建一个配置文件,把这部分配置写在独立的配置文件中,看着也清爽一些(有点洁癖:) )。

注:Intelligencia.UrlRewriter.dll和微软的UrlRewriter.dll默认都是不支持独立配置文件的。

首先当然是百度+Google,无果。【注:百度搜英文真是垃圾】

微软的UrlRewriter.dll到是有人修改过,但是这个用着不爽。

Intelligencia.UrlRewriter.dll暂时还没找到有人做过类似修改。

没法子,只能自己去下源码来修改(幸好是开源的,支持一下)

不多说了,上代码:

修改了【Intelligencia.UrlRewriter.Configuration.RewriterConfiguration】 这个类。

找到 private void LoadFromConfig() 这个方法:

源码:

View Code

<?xml version="1.0"?>
<rewriter>
<rewrite url="^/Index_haha.aspx" to="~/Index.aspx"/>
</rewriter>


如果你也有此等洁癖,赶紧洗洗手试一下吧。

注:我就不放修改后的源码和修改后的DLL了,免得被某些人怀疑是不是里面加了... ...

附:

官网地址:http://urlrewriter.net/

源码下载地址:https://github.com/sethyates/urlrewriter

支持html后缀的配置方法:http://urlrewriter.net/index.php/support/installation/windows-server-2003

==================================================================================
额,孤陋寡闻了。费了这么些时间看源码,改源码。

原来Web.config本身就有configSource这个属性,可以分拆配置文件。。。。

不过有失亦有得,知道了一些UrlRewriter的原理,也算是一点收获了,哈哈。

谢谢大家的指点。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: