3

我正在尝试构建一个用户将能够输入这些有效路径的服务器:

/art/thisProject
/art/thatProject

如果用户输入任何其他无效的内容,例如这些,用户将被重定向到 root,然后到默认路径/art/myProject

/some/url
/something
/another/u/rl

我猜这个错误是因为错误使用"*"或错误理解如何覆盖路由器规则。

我该怎么做?

这是我的代码:

app.get('/', function(req, res) {
    res.redirect('/art/myProject')
});

app.get('/art/:project', function(req, res){
    var project = req.param('project');
    var filePath = 'art/' + project + '/' + project;
    res.render(filePath)
});

app.get('*', function(req, res) {
    res.redirect('/')
});
4

1 回答 1

8

这应该有效:

app.get('/*', function(req, res) {
    res.redirect('/')
});

或这个:

app.use(function(req, res) {
    res.redirect('/')
});

当然,两者都必须放在最后。

于 2013-09-03T12:43:32.947 回答