Node.js Express重定向到静态html(如果可用)或其他自定义路径

Node.js Express重定向到静态html(如果可用)或其他自定义路径,node.js,express,url-redirection,Node.js,Express,Url Redirection,如何重定向到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 +

如何重定向到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));
});