[英]Express.js serve static folder at specific url only
我有一個用於API的現有Express應用程序,但我也想提供一個包含HTML文件和一些圖像/ css / js的文件夾。 我可以將其提供給HTML頁面,但可以在/
而我只希望在/manual
。 這是我用express.static
精簡的代碼,我的/
路線和catch全部重定向到/
const app = express();
app.use(express.static('manual'));
app.get('/', (req, res) => {
res.status(403);
res.send('Access denied.');
return;
});
app.get('*', (req, res) => {
res.redirect(301, '/');
return;
});
當前發生的情況:轉到mysite.com/manual
重定向到mysite.com/
,該index.html
在manual
文件夾中提供index.html
。
我想發生的事情:轉到mysite.com/manual
在manual
文件夾中提供index.html
。 並轉到mysite.com/
會拋出403狀態代碼。
中間件/處理程序按照聲明它們的順序應用,因此您只需要更改順序
const app = express();
app.get('/', (req, res) => {
res.status(403);
res.send('Access denied.');
return;
});
// adding a first parameter lets you apply the middleware to a route
app.use('/manual', express.static('manual'));
app.get('*', (req, res) => {
res.redirect(301, '/');
return;
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.