HttpModule URL重写 - IIS中的404错误

时间:2015-06-03 10:12:53

标签: asp.net-mvc iis url-rewriting

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

http://www.example.com/cars.html - > http://www.example.com/Home/Vehicles/3

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

问题在于,虽然它可以在IIS Express中运行,但它似乎无法在IIS中运行。我可以看到URL被重写,但我得到了404.似乎发生beacause而不是将这个重写的路由与注册的路由匹配,StaticFileHandler尝试处理请求。

因此,当http://www.example.com/cars.html输入浏览器时,在IIS错误页面上,我看到了请求的URL: http://www.example.com/Home/Vehicles/3 这是正确的,但我也会看到它试图加载一个物理路径:X:\ Project \ Site \ Home \ Vehicles \ 3.

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

任何想法如何重写HttpModule的路径,以便重写路径与MVC中注册的路由匹配?或者任何可能缺少的想法? :)

干杯 亚当

0 个答案:

没有答案