When opening a website in a web browser, if there is no explicitly specified document in the URL (e.g., http://mysite.com instead of http://mysite.com/index.html), the web server will serve one of the registered default documents.
When your website is created, there are several default documents already registered with the website:
default.aspxdefault.htmdefault.aspindex.aspindex.htmlindex.htmA Default.asp file is automatically placed into your website root directory during the creation process. So, when you first open your website, this document is displayed because it matches one of the standard default documents. This is why you see the "Site under construction" page.
To replace this page with your own site, you have two options:
Default.asp page.index.html). If your file has a different name, you will need to add it to the Default Documents list.Default.asp page directly in our file manager with your own code.If you are deploying an ASP.NET Core or MVC application, you usually do not have a physical "default document" because the application handles routing internally.
However, if the system-generated Default.asp file still exists in your root folder, the IIS Default Document Module may pick it up and display it instead of passing the request to your application. To resolve this, simply delete the Default.asp file from your wwwroot/root directory.
If you have deleted the Default.asp file but your site still does not load (or returns 403/404 errors), you may be missing the correct configuration in your web.config file. This file tells IIS to pass requests to your application framework instead of looking for physical files.
For .NET Core applications, the web.config is typically generated automatically when you publish your project. If you are deploying manually, ensure your file looks like this (replace YourAppName.dll with your actual DLL name):
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\YourAppName.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
</system.webServer>
</configuration>
For standard MVC 5 applications running on the Integrated Pipeline, your web.config should ensure that managed modules process all requests (including extensionless URLs used by MVC routing).
<configuration>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
</configuration>