![]() |
1
14
我花了点时间,但我知道如何使扩展与IIS6一起工作。首先,您需要重新编写基路由以包含.aspx,以便它们将通过ASP.NET ISAPI筛选器进行路由。
例如,如果您导航到home.aspx,您的站点应该可以正常工作。但是default.aspx和 http://[website]/ 停止正常工作。那这是怎么解决的呢? 嗯,你需要定义第二条路线。不幸的是,使用default.aspx作为路由无法正常工作:
那么,你是如何让这个工作的呢?嗯,这就是您需要原始路由代码的地方:
执行此操作时,default.aspx和 http://[网站]/ 我认为这两个系统都重新开始工作,因为它们成功地映射回了家庭控制器。所以完整的解决方案是:
在IIS6下,您的站点应该可以正常工作。(至少在我的电脑上是这样的。) 另外,如果您在页面中使用html.actionlink(),则不必在整个站点中更改任何其他代码行。此方法负责正确标记控制器的.aspx扩展名。 |
![]() |
2
7
由于无法修改IIS设置以将.mvc映射到ASP.NET,因此可以使用已映射到ASP.NET的其他扩展名。例如,您可以使用controller.ashx/action,它应该在IIS6上开箱即用。 |
![]() |
3
4
如果可以在服务器上安装一个ISAPI过滤器,就不必使用这个扩展。 基本上,您将匹配的URL路由到Controller.mvc变体,然后在ASP.NET中重写此URL以删除.mvc——这样,您就不必定义任何额外的路由或向用户公开.mvc。 我在这里写过: http://www.flux88.com/UsingASPNETMVCOnIIS6WithoutTheMVCExtension.aspx 史蒂夫·桑德森在这里也有一个很好的职位: http://blog.codeville.net/2008/07/04/options-for-deploying-aspnet-mvc-to-iis-6/ |
![]() |
4
4
如本文所述 blog post 通过phil hack,可以使用 wildcard application mappings :
然而,正如hack所提到的,这样做会带来一些性能方面的影响。 |
![]() |
5
2
有了iis6,你可以做两件事之一:
由于选项1在大多数Web主机上不可用,因此您必须选择2。 |
![]() |
6
1
URL重写可以帮助您解决这个问题。我已经实现了允许在任何IIS版本上部署MVC应用程序的解决方案,即使使用了虚拟主机。 http://www.codeproject.com/KB/aspnet/iis-aspnet-url-rewriting.aspx |
![]() |
7
0
我有一个IIs6的申请样本。 我找到了又快又脏的解决方案。(脏,因为它包含扩展名为的默认视图名)它不需要额外的路由或任何特殊的路由。(除了,您的默认路由必须控制器.aspx/操作…格式) 这里是default.aspx
我的示例应用程序默认操作是索引,在主目录中。 注意:我在PhilHaack的博客上看到了这个代码。多亏了布莱恩·洛。 |
![]() |
8
-2
我有一个详细的分步指南,但它要求您使用isapi_Rewrite。查看: http://biasecurities.com/blog/2008/how-to-enable-pretty-urls-with-asp-net-mvc-and-iis6/ |