我已经将MVC3 web应用程序添加到由普通的旧html文件组成的现有网站。当你请求一个特定的文件时,这很好,但是我没有想到的是,通过改变站点来使用.Net 4,它不再需要注意IIS中的默认文档设置(在这种情况下是IIS 6)。因此,例如,我可以请求www.something.com/index.html,但如果我请求www.something.com,我会得到一个资源未找到的错误页面。 Global.asax中是否有MapRoute,我可以指定将站点路由网址映射到index.html?如何在MVC3网站上获取默认html页面
回答
这很正常。 IIS 6.0不支持无扩展名的网址。 Phil Haack解释说您需要一个wildcard mapping。
在Global.asax中,你可以尝试这样定义一个
routes.MapRoute("", "index.html", new { controller = "Home", action = "Index" });
一个规则,但恐怕与IIS 6,你必须处理Wild card mapping
。
我不确定我是否清楚地表达了我的问题。我不想将index.html的请求映射到控制器。我想将请求重定向到站点根目录index.html。 –
在回答中的评论后,我明白你的问题。尝试看这个答案http://stackoverflow.com/questions/1149750/using-asp-net-routing-to-serve-static-files/3112192#3112192 – Iridio
看起来像是发生了变化,我不得不这样做
routes.IgnoreRoute("");
ASP.NET抱怨路线开始“/”
确认:'路线。IgnoreRoute(“/”)'给出错误 - 此答案按预期工作。 – Matt
- 1. 如何在IIS/Windows 7上使用vbscript获取默认网站?
- 2. Clojure从网站获取html页面
- 3. 无法在Azure网站上设置默认页面
- 4. 其中是mvc3中的默认页面?
- 5. 如何通过htaccess设置默认网站页面?
- 6. 语言选择页面作为网站的默认页面
- 7. 如何获取html网页?
- 8. 如何在liferay中获取默认页面url?
- 9. 用户获取默认的Apache页面而不是网站 - Safari/FF?
- 10. 如何更改MVC3中的默认错误页面位置?
- 11. 如何从默认浏览器获取默认主页
- 12. 如何在httpmodule中获取页面html?
- 13. 如何从谷歌网站页面获取网址参数
- 14. 如何在公共网站上找到网站页面添加
- 15. Web容器如何知道从哪里获取默认页面?
- 16. 如何在网站上获取Google Sitelinks?
- 17. django网站默认
- 18. 在HTML上获取当前页面
- 19. 如何从网站获取句子html
- 20. 如何在网站上运行java并获取html的值
- 21. 如何在html页面中获取RSS网址?
- 22. 如何在默认页面动画
- 23. 如何使用ServiceModelReg在默认网站以外的网站上注册WCF?
- 24. 如何在HTML帮助工作间设置默认页面
- 25. 如何从我的HTML页面从另一个网站获取信息?
- 26. 如何让我的网站在手机上默认缩小?
- 27. 如何让网站使用https默认?
- 28. IIS 7将默认网站重定向到自定义页面
- 29. 为动态变化的内容网站设置默认页面
- 30. nginx的显示默认页面,而不是我的网站
你看了菲尔哈克[博客文章(HTTP:/ /haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx)我已链接到[我的答案](http://stackoverflow.com/questions/7460870/how-to-get-a-default-html-page-on-mvc3-site/7460903#7460903)关于配置你的IIS 6.0以支持默认情况下IIS 6.0不支持的扩展名的URL。 –
是的,但我不确定它与我的问题完全相关。我只是想将请求重定向到站点根目录index.html。 Phil的帖子更多的是关于映射到控制器。我会回去再看看今晚。 –
如果你想在用户请求'http:// www.something.com /'时执行一些控制器动作,你肯定需要一个通配符映射,如Phil Haack所解释的。如果您想要提供静态HTML页面,那么只需将此HTML页面作为默认文档添加到IIS控制台中虚拟目录的属性中即可。 –