Asp.net mvc HttpModule URL重写-IIS中出现404错误

Asp.net mvc HttpModule URL重写-IIS中出现404错误,asp.net-mvc,iis,url-rewriting,Asp.net Mvc,Iis,Url Rewriting,我创建了一个非常简单的HttpModule,它将传入路径重写为与MVC中的路由匹配的路径。例: -> 要重写路径,我只需在HttpContext上使用RewritePath 问题是,虽然它在IIS Express中工作,但在IIS中似乎不起作用。我可以看到URL被重写了,但是我得到了404。这似乎是因为StaticFileHandler没有将重写的路由与注册的路由进行匹配,而是尝试处理请求 因此,当输入浏览器时,在IIS错误页面上,我会看到请求的URL: 这是正确的,但我还将看到它尝试加载物理路

我创建了一个非常简单的HttpModule,它将传入路径重写为与MVC中的路由匹配的路径。例:

->

要重写路径,我只需在HttpContext上使用RewritePath

问题是,虽然它在IIS Express中工作,但在IIS中似乎不起作用。我可以看到URL被重写了,但是我得到了404。这似乎是因为StaticFileHandler没有将重写的路由与注册的路由进行匹配,而是尝试处理请求

因此,当输入浏览器时,在IIS错误页面上,我会看到请求的URL: 这是正确的,但我还将看到它尝试加载物理路径:X:\Project\Site\Home\Vehicles\3

如果我在浏览器中输入重写的路径,页面将加载并按预期工作,因此路由正常

我如何从HttpModule重写路径,使重写的路径与MVC中注册的路由相匹配?或者有什么想法可能遗漏了什么?:)

干杯
Adam

有了ASP.NET路由,你为什么要重新发明轮子?我不想创造出比这更复杂的东西。我只是在玩重写路径,想知道我错过了什么。