Homepage not found: start_url only works for index.html for static site w/o build command

My static site homepage is not loading if i rename my index.html to something else even after updating in manifest.json!

How to reproduce:

  1. Add static git repo to netlify
  2. rename the homepage html file to something else except index.html like host.html
  3. mention host.html for start_url in manifest.json
    ex:
    {"name":"website name","icons":[{"src":"/assets/img/android-chrome-192x192.png","type":"image/png","sizes":"192x192"},{"src":"/assets/img/android-chrome-512x512.png","type":"image/png","sizes":"512x512"}],"start_url":"/host.html","display":"fullscreen"}
    5.1. add custom domain+netlify dns (i don’t think it would affect)
  4. deploy to netlify without using any build command (I didn’t test with any build command)
  5. website won’t load on homepage but it’ll load on homepage/host

What did i miss here?

Hi Jerry!

That’s our service behaving as intended. Our webserver doesn’t use your manifest.json, it just reads the files as they exist in our deployment. If you want an automatic redirect, you’d have to set one up:

Something like this in _redirects might work:

/ /home.html 301

1 Like

Hi @fool thank you for providing the solution using redirects… that solves 80% of the problem.
Now when I go to homepage.com it redirects to homepage.com/home but is Netlify can also mask the url? for example the url in the url bar should remains www.homepage.com but it serves home.html page behind. like how it’s done for index.html by default in netlify.

@JerryGoyal - there are likely more complex solutions, but I do want to point out that it is a generally accepted standard that the first page of a website is always called index.html - for this specific reason. So, things are functioning as expected still.

You can do without the redirects if you rename your file from home.html to index.html and deploy it.

If this really isn’t a solution for you, things get more complicated, but we do recommend you evaluate this as a possibility first.

I see your point, but in some use cases url masking would be necessary to do so. anyway, it’s fine with me I’ll stick with the index.html format.