我现在有一个使用ISAPI Rewrite和IIRF文件启用URL重写的现有站点,问题是它导致了很多问题,包括站点开发/维护以及服务器上的连续错误。
因此,我希望用.Net 4.0的URL路由替换它。
我遇到两个问题,首先,设置当前的路由规则,以便路由到的页面只是重写的URL,文件扩展名附加到末尾。
因此www.site.com/page/
将成为www.site.com/page.aspx
第二个问题是,某些重写的URL实际上指向网站上子文件夹中的物理文件,使用与上述相同的逻辑。
因此www.site.com/folder/page/
会重定向到www.site.com/folder/page.aspx
我已阅读this article并创建了自定义的IRouteHandler和IHttpHander实现的类,但我不确定从何处开始。
我尝试了一些不同的东西,主要是与URL中的变量相关并尝试重定向到它们,但我不确定这是否适合我去。
我不会发布代码,因为我现在所拥有的只是上面链接中的示例代码。
我在另一个网站上实现了基本路由,其中单个页面使用URL中的变量从数据库中获取相关内容,这看起来很简单,但这让我头晕目眩,我敢肯定它不应该是这么复杂。