我们在IIS6中运行了一个ASP.NET 3.5应用程序,我们正在迁移到IIS7&综合管道。我们的应用程序执行一些非常简单的URL重写来检查这样的URL:
website.com/dealer/page.aspx
剥离'经销商',在数据库中查找上下文并转到page.aspx。
在IIS6中,这是一个通配符映射。我将模块移到了IIS7的web.config中的正确位置:
<system.webServer>
<modules>
<add name="ModuleRewriter"
type="Insignia.Catalog2.ModuleRewriter, Insignia.Catalog2"
preCondition="" />
它的确有效 - 差不多。像这样的路径工作:
website.com/dealer/page.aspx
website.com/dealer/
后者默认为index.aspx页面。我的问题是,这个没有:
website.com/dealer
注意最后丢失的斜线。我得到了404.我错过了什么?
更新
它与静态文件处理程序有关 - 如果我禁用它,URL映射正确,但静态的东西不起作用...
答案 0 :(得分:0)
好吧,我通过修改模块标签来实现它:
<modules runAllManagedModulesForAllRequests="True">
但这肯定是货物崇拜,因为我不知道它在做什么。