假设我有一个名为
的网站我想重写请求,以便用户输入:
它应该在内部重写为:
(我想这类似于处理SO问题链接的方式,其中所有问题都有唯一的ID和非唯一的标题,并且只有id用于生成页面。这样一个旧的链接到一个问题即使问题的标题发生了变化,它仍然可以工作)
我尝试这样做:
在Application_BeginRequest
中global.aspx
我首先认识到所请求的页面是“公共”页面。然后我做了一个
HttpContext.Current.RewritePath( “〜/公共/ Default.aspx的”, 假)
在~/public/default.aspx
我然后获取id以动态生成公司特定页面(例如公司徽标和名称)。
这在我的本地开发环境中运行良好,但在服务器上似乎没有触发Application_BeginRequest。我想这是因为请求的文件夹不存在?
如何解决此问题,或者有更好的方法来实现此行为?