[英]Route 404.html for Express app
我已經看到很多解決此問題的文章,但似乎沒有一個對我有用,而且許多解決方案都使用不推薦使用的方法。
我已經設置了靜態文件目錄:
app.use(express.static(__dirname + "/public", {maxAge: 86400000*30 }));
然后,我在該公共目錄中有一個自定義的404.html頁面。 現在,任何不正確的URL應該被路由到該404.html頁面。 我嘗試了以下方法:
app.use(function(req, res, next){
res.render("404.html", { url: req.url });
});
但是我得到了回應:
Error: Cannot find module 'html'
我在做什么錯,為什么這么簡單的事情這么難?
只需在所有其他中間件和路由處理程序之后放置以下內容即可:
app.use(function(req, res) {
res.sendFile(__dirname + '/public/404.html');
});
嘗試將您的Express版本升級到最新版本
編輯(@mscdex的更正版本)
app.get('/api', function(req, res) {
.....
res.status(404).sendFile(__dirname + '/public/404.html');
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.