簡體   English   中英

Express.js僅在特定網址上提供靜態文件夾

[英]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.htmlmanual文件夾中提供index.html

我想發生的事情:轉到mysite.com/manualmanual文件夾中提供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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM