我在部署到IIS 6时遇到了来自asp.net mvc beta的404错误,一开始尝试通过在IIS中映射“.mvc”来解决这个问题,这在之前的版本中可行,但现在不起作用了。我阅读了Omar的帖子和其他几篇文章,并尝试了他们的解决方案,但迄今为止都没有成功。
主页可以在IIS 6上正常打开,但其他页面会返回404错误,而在IIS 7上运行良好。
是否有人已经成功将asp.net mvc beta部署到IIS 6?如果是,您需要对代码和/或IIS设置进行哪些调整才能使其正常工作?
我在部署到IIS 6时遇到了来自asp.net mvc beta的404错误,一开始尝试通过在IIS中映射“.mvc”来解决这个问题,这在之前的版本中可行,但现在不起作用了。我阅读了Omar的帖子和其他几篇文章,并尝试了他们的解决方案,但迄今为止都没有成功。
主页可以在IIS 6上正常打开,但其他页面会返回404错误,而在IIS 7上运行良好。
是否有人已经成功将asp.net mvc beta部署到IIS 6?如果是,您需要对代码和/或IIS设置进行哪些调整才能使其正常工作?
我从Steve Sanderson的博客中找到了解决方案(感谢Steve):
使用aspnet_isapi.dll
的通配符映射。这告诉IIS 6使用ASP.NET处理所有请求,因此始终调用路由,并且没有问题。设置非常简单:
我似乎还不能写评论,所以我会写一个新的答案。
在stackoverflow上有几个类似的问题。 我正在使用MVC 3. 我知道这个问题是关于MVC 2的。但由于这是我发现的第一个stackoverflow帖子,所以我认为值得一提:
<edit>我刚刚发现我甚至不需要设置扩展映射。 </edit>
URL 重写可以帮助您解决问题。我已经实现了一种解决方案,允许在使用虚拟主机的任何 IIS 版本上部署 MVC 应用程序。 http://www.codeproject.com/KB/aspnet/iis-aspnet-url-rewriting.aspx