2012-08-25 85 views
6

我最近在azurewebsites.net上設置了一個網站。在Microsoft Windows Azure上爲網站設置默認網頁

但是,當我去http:/website.azurewebsites.net/ 它不加載。

但是,當我去http:/website.azurewebsites.net/home.aspx加載。

我想的是,如果 用戶進入到http:/website.azurewebsites.net/它與home.aspx內容加載或重定向到http:/website.azurewebsites.net/home.aspx

這不起作用

<system.webServer> 
    <defaultDocument> 
    <files> 
     <clear /> 
     <add value="Default.aspx" /> 
    </files> 
    </defaultDocument> 
    </system.webServer> 

對不起,這裏的實際鏈接http://rathgarfantasyhockey.azurewebsites.net/default.aspx工作正常,但是當你去http://rathgarfantasyhockey.azurewebsites.net HTTP 404錯誤,則顯示The resource cannot be found

任何人都可以幫忙嗎?

+0

您可以添加註釋以瞭解您的默認文檔是如何工作的? – HeatfanJohn

+1

我投了這個問題,因爲我有同樣的問題,但在我的部分沒有。添加這個解決了我的問題,但user1625190已經有了,所以我不知道他的決議是什麼。順便在下面的建議中向'defaultDocument>標記添加'enabled = true'對我沒有任何影響。 – Opsimath

回答

3

你有一個錯字嗎?

您有:

<add value="Default.aspx" /> 

但你說你的 「主頁」 的作品是/home.aspx

如果您希望/home.aspx在用戶轉到http:/website.azurewebsites.net/時顯示,那麼我可以想出幾種方法讓您完成此操作。

既然你有Default.aspx爲您defaultDocument,您可以重命名home.aspxDefault.aspx當有人進入到http:/website.azurewebsites.net/的Default.aspx的內容將顯示。

如果你需要保持home.aspx命名爲home.aspx出於某種原因,然後按照您的要求,如果你想爲http:/website.azurewebsites.net/重定向到/home.aspx然後創建一個在根目錄下名爲Default.aspx文件,編輯,使其包含Response.Redirect("home.aspx", false);。這種類型的頁面的完整示例可在http://msdn.microsoft.com/en-us/library/a8wa7sdt(v=vs.80).aspx獲得。

更新:

嘗試增加enabled="true"defaultDocument XML標籤。見下面的例子從http://www.iis.net/ConfigReference/system.webServer/defaultDocument

<system.webServer> 
     <defaultDocument enabled="true"> 
     <files> 
      <add value="home.html" /> 
     </files> 
     </defaultDocument> 
    </system.webServer> 
+0

對不起,它不是,頁面是/Default.aspx – user1625190

+0

我根據你的評論更新了我的答案。 – HeatfanJohn

+0

嗨,感謝回到我身邊,但我做到了,但仍然無法正常工作。如果你去http://rathgarfantasyhockey.azurewebsites.net/它仍然顯示一個錯誤。如果您訪問http://rathgarfantasyhockey.azurewebsites.net/Default.aspx,它會像您說的那樣顯示/重定向到主頁 – user1625190

4

如果你的應用程序是一個MVC應用程序,它會尋找默認控制器,而不是默認頁面。

因此,您必須在RouteConfig中映射路線。在我的情況下,我想加載一個index.html頁面的網站,所以我做了:

RouteConfig。CS文件:

public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

     routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}/{id}", 
      defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
     ); 
    } 

而且在我的HomeController,索引操作,寫這樣的代碼:

public ActionResult Index() 
    { 
     return Redirect("/index.html"); 
    } 

這正常天青與共享站點。我希望這能幫到您。

+0

您還可以添加路線註釋以獲得更好的控制 ''' [Route(「」)] //合併以定義路線模板「Home」 [Route(「Index」)] //合併以定義路線模板「Home/Index」 [路由(「/」)] //不合並,定義路由模板「」 ''' –

7

如果您正在使用MVC或Web API,加入的RegisterRoutes)以下行(:

routes.IgnoreRoute(""); 

這解決了我的問題。希望它可以幫助你。

+0

這是爲我修復的。我嘗試了其他的解決方案,但是直到我添加了這個才解決了。 –

相關問題