重写路径在IIS 7.5集成模式下不工作
在HttpModule中使用HttpContext.RewritePath进行URL重写时遇到问题 环境:Windows Server 2008 R2、IIS 7.5集成模式、.Net 4.0 在我的项目中,大多数URL将被重写到同一个aspx页面(Handler.aspx)。aspx页面将根据URL执行不同的操作 例如: “/en/abc/”将写入Handler.aspx。[页面输出:这里是abc] “/en/test/”将写入Handler.aspx。[页面输出:这是测试] “/en/test/a.html”也将写入Handler.aspx。[页面输出:这是测试]。由于我只检查字符串“test”并忽略sting“/a.html”,因此输出与URL“/en/test/”相同。而且wwwroot文件夹中不存在a.html,URL对于测试来说是一个不好的例子 如果两个或更多包含htm/html扩展名的请求同时出现,我遇到了一个问题 示例:“/en/test/a.htm”或“/en/test/a.html” HttpContext.RewritePath将不适用于此后的任何请求。Handler.aspx将不再被调用,页面输出将始终为“This is test”,无论输入什么URL。出现问题时,Http状态代码为200。此外,如果访问真实的aspx页面(Handler.aspx),它也将显示相同的内容“This is test”。它看起来像一个服务器端缓存。这个问题可以通过在IIS中回收应用程序池来解决 在以下情况下,不会出现问题:重写路径在IIS 7.5集成模式下不工作,iis,httpmodule,rewritepath,Iis,Httpmodule,Rewritepath,在HttpModule中使用HttpContext.RewritePath进行URL重写时遇到问题 环境:Windows Server 2008 R2、IIS 7.5集成模式、.Net 4.0 在我的项目中,大多数URL将被重写到同一个aspx页面(Handler.aspx)。aspx页面将根据URL执行不同的操作 例如: “/en/abc/”将写入Handler.aspx。[页面输出:这里是abc] “/en/test/”将写入Handler.aspx。[页面输出:这是测试] “/en/tes