httpd-espfs.c :: tryOpenIndex() already tries to find and serve the content of index.html if the client requests a sub-directory.
This can result in the browser showing the content of /hello/index.html, but the browser's URL is http://blahblah/hello
If /hello/ is a directory, GET /hello should redirect to GET /hello/ to maintain relative paths for the browser.
We should automatically add a trailing slash so clients can properly resolve relative paths.
I.e. GET /hello should redirect to /hello/ because /hello/index.html might require ./app.js, which should resolve to /hello/app.js, NOT /app.js
The exception to this is the root directory does not require a trailing slash.
I.e. GET myapp.com can serve /index.html
httpd-espfs.c :: tryOpenIndex()
already tries to find and serve the content of index.html if the client requests a sub-directory. This can result in the browser showing the content of/hello/index.html
, but the browser's URL ishttp://blahblah/hello
If
/hello/
is a directory,GET /hello
should redirect toGET /hello/
to maintain relative paths for the browser.We should automatically add a trailing slash so clients can properly resolve relative paths. I.e.
GET /hello
should redirect to/hello/
because/hello/index.html
might require./app.js
, which should resolve to/hello/app.js
, NOT/app.js
The exception to this is the root directory does not require a trailing slash. I.e.
GET myapp.com
can serve/index.html