Asp.net IIS重写ala SO

Asp.net IIS重写ala SO,asp.net,iis,rewrite,isapi-rewrite,Asp.net,Iis,Rewrite,Isapi Rewrite,假设我有一个叫做 我想重写请求,以便当用户键入时: 应在内部将其改写为: (我想这与处理问题链接的方式类似,所有问题都有一个唯一的id,而不是唯一的标题,并且只有id用于生成页面。这样,即使问题的标题已更改,指向问题的旧链接仍然有效) 我尝试这样做: 在Application\u BeginRequest的global.aspx中,我首先认识到请求的页面是“公共”页面。然后我做了一个 HttpContext.Current.RewritePath(“~/public/default.asp

假设我有一个叫做

我想重写请求,以便当用户键入时:

应在内部将其改写为:

(我想这与处理问题链接的方式类似,所有问题都有一个唯一的id,而不是唯一的标题,并且只有id用于生成页面。这样,即使问题的标题已更改,指向问题的旧链接仍然有效)

我尝试这样做: 在
Application\u BeginRequest
global.aspx
中,我首先认识到请求的页面是“公共”页面。然后我做了一个

HttpContext.Current.RewritePath(“~/public/default.aspx”, (错误)

~/public/default.aspx
中,我获取id以动态生成特定于公司的页面(例如公司徽标和名称)。 这在我的本地开发环境中运行良好,但在服务器上似乎没有触发应用程序_BeginRequest。我想这是因为请求的文件夹不存在


我如何解决这个问题,或者有没有更好的方法来实现这个行为?

关于我使用的IIS6(开源,免费)。在IIS 7(或7.5)上,我成功地使用了来自Microsoft的模块。

问题ID是REST路由的一部分。标题是搜索引擎优化。你可能既没有休息也没有做大量的搜索引擎优化。相反,我会忽略它的方式。但是,是的,您希望在不存在的页面上使用默认重定向。