dotnet/aspnetcore

Option to look for default files at the root of wwwroot path only, not at subpath

Open

#2,455 opened on Jan 1, 2018

View on GitHub
 (4 comments) (0 reactions) (0 assignees)C# (10,653 forks)batch import
affected-fewarea-middlewareenhancementfeature-static-fileshelp wantedseverity-minor

Repository metrics

Stars
 (37,933 stars)
PR merge metrics
 (Avg merge 16d 9h) (258 merged PRs in 30d)

Description

From @NickAb on Sunday, February 28, 2016 6:26:46 AM

DefaultFiles middleware allows routing to default files at request subpath if no file was found, but for angular or other single page apps we would need to always route to /wwwroot/index.html for any subpath, i.e.:

  • http://localhost:5000/ -> wwwroot/index.html
  • http://localhost:5000/some-sub-path -> wwwroot/index.html

Currently we have to write custom middleware to handle this case (see stackoverflow for example). But it seems that adding option to DefaultFiles to route to wwwroot will be a good solution for such a common case.

https://github.com/aspnet/StaticFiles/blob/dev/src/Microsoft.AspNetCore.StaticFiles/DefaultFilesMiddleware.cs#L67

Copied from original issue: aspnet/StaticFiles#115

Contributor guide