Comments (1)
Hi @Delagen ! So there was a very long issue over at expressjs/serve-static#9 which details this same issue and why these two modules cannot use relative redirects. The simple example: A request comes in to http://server/instance
and Express sees http://ip/
. How can it redirect to http://server/instance/
(i.e. add the trailing slash so the relative links in your index.html
file work)? It cannot, especially since as far as it can tell there is already a railing slash.
There are two solutions you'll need to implement. The best solution is to have nginx pass back http://server/instance/
as part of the request; probably a special request header like X-Original-Url
. Then simply set req.originalUrl
to that value somewhere above this middleware. Everything will now work just fine. Example:
app.use(function (req, res, next) {
req.originalUrl = req.headers['x-original-url'] || undefined
next()
})
The second is to accept that it would be impossible to use this module in your root path and just rewrite the Location
header, as described in the link above.
from serve-index.
Related Issues (20)
- Enable the use of custom filesystems HOT 30
- How to generate directory indices for all folders?
- Allow use of tables HOT 2
- Update debug https://snyk.io/vuln/npm:ms:20170412 HOT 1
- Example code doesn't work properly HOT 1
- Cannot stat `System Volume Information` sub dir on a root drive on Windows 10 HOT 1
- POST requests are rejected with 405 HOT 4
- Password protect a folder with HTTP Basic Authentication HOT 1
- code style: semicolons or no? HOT 6
- option to download files rather than view HOT 16
- How to handle fs.stat error on a file? HOT 4
- selecting file via a redirect goes to the wrong url HOT 2
- Badly encoded URLs are HTTP 500 HOT 2
- Failing test HOT 1
- Document use of `req.originalUrl` for Reverse Proxy. HOT 4
- add .npmignore HOT 4
- The `directory.html` template should be added in `locals` HOT 3
- Display content in existing HTML? HOT 7
- How to custom handle ForbiddenError: Forbidden with malicious path traversal characters HOT 1
- svg icon HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from serve-index.