Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
Skip to content
VGSources
Blog

Why You Can’t See index.html on a New Web Server (and How to Fix It)

A direct, server-by-server guide to diagnosing missing index.html files, wrong welcome pages, 404s, 403s and directory-index failures.
Length8 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Your index.html is usually invisible for one of four reasons: the request is reaching a different document root or virtual host, the server is not configured to use index.html as its directory default, the URL and filename differ in capitalization, or the web-server account cannot read the file and traverse its parent directories.

Test /index.html before changing anything else. If that URL works while / does not, the file is in the right place and the missing piece is the default-document rule. If both fail, work through hostname selection, path mapping, spelling and permissions.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How a request for your homepage is resolved

A browser request for https://example.com/ passes through several independent decisions:

  1. DNS resolves the hostname to an IP address.
  2. The web server chooses a site, virtual host or server block from the hostname in the request.
  3. That site maps the URL to a filesystem directory.
  4. For a directory URL ending in /, the server looks for a configured default document.
  5. The operating system checks whether the server account may traverse the directories and read the file.

A failure at any layer can look like “the homepage is missing.” Uploading the file to a directory on the machine does not make it web-visible; only the active site’s mapped document root does.

First test: request the file directly

Open both the directory URL and the filename URL using the same hostname:

  • https://your-host.example/
  • https://your-host.example/index.html

Do not switch to an IP address for this first comparison. The hostname is part of virtual-host selection, so an IP request can deliberately or accidentally select another site.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
What you see What it proves Next place to look
/index.html loads, but / does not The file is reachable through the selected site. Default-document or directory-index configuration and its ordering.
Both URLs show a 404 The active path mapping does not resolve to that file, or the name/path is wrong. Hostname selection, document root, subdirectory and capitalization.
Both URLs show 403 The server found the resource or directory but refused access, or no usable default document is available. Filesystem permissions, access rules and default-document settings.
An old welcome page appears A different site, server or pre-existing file is answering. DNS and virtual-host/server-block selection, then the active root.
A directory listing appears Directory indexing is enabled and no configured default document was selected. Configure the intended index file and disable listing unless it is deliberate.

Verify the active document root

The directory where you uploaded a file may not be the directory the active site serves. Confirm the path in the configuration for the site that answers your hostname.

Apache

Apache maps URL paths beneath its DocumentRoot. If the root is /var/www/html, a request for /work/ maps to that root plus work/; an index file would therefore be at /var/www/html/work/index.html. Check the DocumentRoot in the selected virtual-host configuration, not merely a similarly named directory elsewhere on the server.

NGINX

NGINX uses a root or, in specific location blocks, an alias to translate a URI into a filesystem path. An alias can produce a different result from the site-wide root, so inspect the location that matches the request. Verify that the resulting path actually contains index.html.

IIS

In IIS, check the site’s physical path. A server can host several sites with different physical paths, and the path shown for one site may not be the path selected for your hostname. The file must be below the physical path of the site that receives the request.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use a known marker file

When several roots look plausible, place a temporary uniquely named text file beside index.html, request that exact filename, and remove it after the test. A successful response identifies the root being served without relying on a cached welcome page. Do not leave diagnostic files publicly accessible.

Make sure the hostname selects the intended site

Virtual-host, server-block and IIS site configuration do not create DNS records. The hostname must resolve to the server’s address, and the request’s Host value must match the site configuration. If either condition fails, the default site may answer with its own document root and welcome page.

  1. Check the hostname’s DNS record and confirm that it points to the intended server IP. Account for a DNS change that has not propagated to every resolver.
  2. Confirm that the configured hostname is spelled exactly as the one in the browser, including a possible www subdomain.
  3. Inspect the server’s site-selection rules for that hostname. Make sure the intended virtual host/server block or IIS binding is enabled.
  4. Test again with the hostname, not only the IP address. A correct response from the IP does not prove that the named site is selected.

If an old page appears, treat it as evidence that another site is responding rather than proof that your upload failed.

Check the filename, path and capitalization

Match every character in the URL and filesystem path: index.html is not the same name as Index.html on a case-sensitive path. The same applies to directory names and extensions. A file uploaded as index.HTML, placed in a subdirectory, or saved with an extra suffix can produce a 404 even when the page looks correctly named in a graphical file manager.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • List the directory and verify the exact spelling and extension.
  • Check for hidden suffixes such as .html.html created by an editor or file manager.
  • Make the requested URL’s capitalization identical to the on-disk path.
  • Check that a rewrite rule or location block has not changed the path before the file lookup.

Apache’s request processing treats URL paths as case-sensitive. Do not rely on a case-insensitive development machine to predict production behavior.

Configure the default document for requests to “/”

A request for a directory does not inherently mean “serve index.html.” Each server has a setting that defines which filenames it tries, and the order matters when more than one exists.

Apache: DirectoryIndex

Apache uses the DirectoryIndex directive. Ensure the active site or directory configuration includes the desired filename, for example:

DirectoryIndex index.html

If the list contains another file first, Apache can serve that file instead. If the directive is absent or disabled, / may fail even though /index.html succeeds.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

NGINX: index

NGINX uses the index directive. Set it in the configuration context that handles the request:

index index.html;

Check for a more specific location block that overrides the broader setting. The configured name must match the file’s capitalization.

IIS: ordered Default Document list

IIS has an ordered default-document list. Microsoft identifies Index.html among IIS defaults and explains that IIS returns the first file in the list that it finds. Ensure the Default Document feature is enabled and that the desired filename is present in the required order. If directory browsing is disabled and no listed file exists, IIS can return 403.14 rather than displaying the directory.

Fix read and directory-traversal permissions

The server process needs two kinds of access: read permission on the file and execute/traverse permission on every parent directory. A readable file inside a directory the account cannot traverse is still unreachable.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For ordinary Unix-style hosting, Apache documentation gives 644 for regular files and 755 for directories as typical examples. These are examples, not a universal requirement: the actual web-server account, group ownership, mandatory access controls and hosting policy also matter.

  • Inspect the permissions and ownership of index.html.
  • Inspect each parent directory from the filesystem root to the document root.
  • Grant only the access required by the server account; do not make the entire server tree writable or world-readable without a reason.
  • After changing permissions, request the direct file URL again before testing the directory URL.

Apache identifies filesystem permission failures as a common cause of Forbidden responses. IIS access rules and filesystem ACLs can produce the same symptom under different names.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Read the response and server logs

The status code narrows the failing layer, but the server log usually identifies the exact path and rule involved.

404 Not Found

Check the selected site, root or alias mapping, subdirectory, spelling and capitalization. A 404 means the requested path did not resolve to an available resource; it does not prove that the file is absent from the machine.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

403 Forbidden

Check filesystem read/traverse permissions and access-control rules. If the request is for a directory, also check whether a default document is available. On IIS, 403.14 specifically indicates that directory browsing is disabled and no default document was found.

Welcome or default page

Confirm DNS, the selected virtual host/server block or IIS binding, and the active document root. Only after those match should you look for a leftover welcome file in the correct root.

Directory listing

The server is exposing a directory without selecting a default document. Configure the intended index file and turn off directory indexing unless public listings are an intentional feature.

When reading logs, compare the logged filesystem path with the location where you believe the file resides. That single comparison often exposes a wrong root or virtual host immediately.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Server-specific recovery procedure

  1. Request /index.html and / with the exact production hostname.
  2. Record the status code and whether the response is your file, a welcome page, an error page or a directory listing.
  3. Verify DNS resolution and the hostname binding or virtual-host/server-block match.
  4. Inspect the selected site’s document root, physical path, root or alias.
  5. Confirm that the exact file path exists below that root and that capitalization matches.
  6. Enable or correct the default-document setting: Apache DirectoryIndex, NGINX index, or IIS Default Document.
  7. Check file read permission and traversal permission on every parent directory.
  8. Reload or restart the server only after validating the configuration, then repeat both URL tests.
  9. Use the access and error logs to verify which site and filesystem path handled the request.

Changing several layers at once makes diagnosis harder. Retest after each layer so you know which correction solved the problem.

Prevent the problem on the next deployment

  • Document the production document root or IIS physical path alongside deployment instructions.
  • Keep one canonical homepage filename and capitalization across development and production.
  • Define the default document explicitly instead of relying on an installation’s defaults.
  • Test both the hostname and /index.html after DNS or virtual-host changes.
  • Keep directory listings disabled unless users genuinely need them.
  • Check permissions as the web-server account would experience them, not only as an administrator.
  • Remove temporary marker files and confirm that logs no longer show requests for an unintended root.

The practical diagnosis

If /index.html works, fix the default-document rule. If it returns a 404, find the active root, hostname-selected site or capitalization mismatch. If it returns 403, fix access and traversal permissions or the missing default document. If an old page appears, follow DNS and virtual-host selection. These tests separate the four common failure layers without guessing at the upload.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.