Set default webpage for website on Microsoft Windows Azure
Solution 1
According to this blog post: http://blogs.msdn.com/b/cesardelatorre/archive/2010/07/22/how-to-set-a-default-page-to-a-windows-azure-web-role-app-silverlight-asp-net-etc.aspx
<defaultDocument>
<files>
<clear/>
<add value="Default.aspx"/>
</files>
</defaultDocument>
Should Work. Or you could Type to Url map it. To do that check out http://msdn.microsoft.com/en-us/library/cc668201.aspx
Solution 2
If you are using MVC or Web API, add the following line in RegisterRoutes():
routes.IgnoreRoute("");
This solved my problem. Hope it helps you.
Solution 3
If you app is a MVC application, it looks for the default controller instead of default pages.
So you must map a route in RouteConfig. In my case,I wanted to load the site with an index.html page, so I did:
RouteConfig.cs file:
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 }
);
}
And in my HomeController, Index Action, write this code:
public ActionResult Index()
{
return Redirect("/index.html");
}
This works fine in Azure with a Shared Site. I hope this will help you.
Solution 4
Do you have a typo?
You have:
<add value="Default.aspx" />
But you said that your "home page" that works is /home.aspx
.
If you want for /home.aspx
to be displayed when the user goes to http:/website.azurewebsites.net/
, then I can think of several ways for you to accomplish that.
Since you have Default.aspx
as your defaultDocument
, you can rename home.aspx
to Default.aspx
and when someone goes to http:/website.azurewebsites.net/ the contents of Default.aspx
will be displayed.
If you need to keep home.aspx
named as home.aspx
for some reason, then as you requested if you want for http:/website.azurewebsites.net/
to redirect to /home.aspx
then create a file called Default.aspx
in the root directory and edit it to contain Response.Redirect("home.aspx", false);
. A complete example for this type of page is available at http://msdn.microsoft.com/en-us/library/a8wa7sdt(v=vs.80).aspx.
Update:
Try adding enabled="true"
to your defaultDocument
XML tag. See the example below from http://www.iis.net/ConfigReference/system.webServer/defaultDocument
<system.webServer>
<defaultDocument enabled="true">
<files>
<add value="home.html" />
</files>
</defaultDocument>
</system.webServer>
user1625190
Updated on June 14, 2022Comments
-
user1625190 almost 2 years
I recently set up a website on azurewebsites.net.
But when I go to the url http:/website.azurewebsites.net/ it doesn't load.
But when I go to http:/website.azurewebsites.net/home.aspx it loads.
What I want is that if a user goes to http:/website.azurewebsites.net/ it loads with the home.aspx content or get redirected to http:/website.azurewebsites.net/home.aspx
This doesn't work
<system.webServer> <defaultDocument> <files> <clear /> <add value="Default.aspx" /> </files> </defaultDocument> </system.webServer>
Sorry here's the actual link http://rathgarfantasyhockey.azurewebsites.net/default.aspx which works fine, but when you go to http://rathgarfantasyhockey.azurewebsites.net HTTP error 404,
The resource cannot be found
is displayed.Can anyone help??