@julian @PitaJ this is my result after that I have do fir "./nodebb stop" and after "ps aux | grep node" in Centos:
0_1479735622500_Senzanome.png
I do "vagrant up" to start a centos machine.
Hello !
I'm writing a plugin where I do this :
app.get('/uploads/myfiles/:file(*?)', function (req, res) {
// Things TODO with req.params.file for permissions (after work on it)...
var longfilename = path.resolve('public' + req.url);
if (fs.existsSync(longfilename)) {
res.status(200);
res.sendFile(longfilename);
} else {
console.log('Fichier non trouvé');
res.status(404);
res.render('404', {path: req.path});
}
});
When a file is not found, I return a 404 error page with the last "else". It works in a ugly way because of no 404.tpl file... How can I call a standard nodebb error page for this 404 error ? What is the good res.render command (or else) ?
@alfazaz said in Proper way to render error page (404...):
app.get('/uploads/myfiles/:file(*?)', function (req, res) {
// Things TODO with req.params.file for permissions (after work on it)...
var longfilename = path.resolve('public' + req.url);
if (fs.existsSync(longfilename)) {
res.status(200);
res.sendFile(longfilename);
} else {
console.log('Fichier non trouvé');
res.status(404);
res.render('404', {path: req.path});
}
});
The proper way is to call next
and let the core 404 handler do it's magic.
app.get('/uploads/myfiles/:file(*?)', function (req, res, next) {
// Things TODO with req.params.file for permissions (after work on it)...
var longfilename = path.resolve('public' + req.url);
if (fs.existsSync(longfilename)) {
res.status(200);
res.sendFile(longfilename);
} else {
next();
}
});
@baris Thanks !!