如何重定向到static*html(如果在公用文件夹中可用)&404(如果不可用)。
var _version = 'v1';
// redirect to a.html
app.get(_version + '/a.html', (req, res) => {
res.sendFile(path.join(_dirname, 'public', 'htmls', 'a.html'));
});
// redirect to b.html
app.get(_version + '/b.html', (req, res) => {
res.sendFile(path.join(_dirname, 'public', 'htmls', 'b.html'));
});
// redirect to c.html
app.get(_version + '/c.html', (req, res) => {
res.sendFile(path.join(_dirname, 'public', 'htmls', 'c.html'));
});
// redirect to someRandom.html
app.get(_version + '/someRandom.html', (req, res) => {
res.sendFile(path.join(_dirname, 'public', 'htmls', 'someRandom.html'));
});
// else redirect to index.html
app.get(_version + '/*.html', (req, res) => {
res.sendFile(path.join(_dirname, 'public', 'htmls', 'index.html'));
});
如何组合前四个请求以重定向到相应的*.html,以便如果文件存在,则必须重定向到该文件,否则重定向到index.html。
注意:我正在单独处理所有其他
404
和500
请求。 最佳答案
您只需使用express.static就可以做到这一点
app.use(express.static(path.join(_dirname, 'public/htmls')));
或者可以使用参数将四条管线更改为一条管线:
app.get(_version + '/:filename', (req, res) => {
res.sendFile(path.join(_dirname, 'public', 'htmls', req.params.filename));
});
关于node.js - 快速重定向到静态html(如果有)到自定义路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33366699/