【发布时间】:2012-05-12 12:56:01
【问题描述】:
情况如下: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。
【问题讨论】:
-
请发布您正在使用的 .NET 和 IIS 版本,因为有不同的选项可用。
-
我正在尝试 Server.Transfer()。看起来这行得通。
标签: asp.net