情况如下:CMS 系统(关闭源代码)没有以我们想要的方式使用友好的 URL。它添加了子地图和静态 .aspx 文件,而我们没有这样做。示例:CMS 识别:/public/submap/bla/page.aspx?id=CONTACT(本示例中的页面“联系人”)。但是我们希望这个页面的友好 URL 是这样的:/contact。
我的目标:在 CMS 引擎呈现页面之前,传入的请求 (/contact) 将更改为 CMS 识别的 URL (/public/submap/bla/page.aspx?id=CONTACT) 但浏览器看不到这个.
我已经在一些带有 HTTPModule(接口 IHttpModule,事件 BeginRequest)的页面上尝试过此操作,但唯一可能的方法是将 300 重定向到浏览器(它将收到“/contact”并重定向到 /public/.../page .aspx?id=CONTACT 浏览器地址工具栏显示的)。
是否有一种方法可以“伪造”CMS 引擎,该引擎将识别它自己的 URL,但在浏览器和 ASP.NET 之间是另一个 URL?
环境:IIS6 (Windows 2003) 和 .NET Framework 3.5/4.0。