我已經將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控制檯中虛擬目錄的屬性中即可。 –