6

我在 node.js 和 express 中编写了一个网站。现在我将 lighttpd 配置为使用带有子目录的 node.js 服务器:

$HTTP["url"] =~ "^/app/" {
  proxy.server  = ( "" => ( (
                              "host" => "127.0.0.1",
                              "port" => 3000
                            ) )
                  )
}

当我打开时,http://localhost/app/我收到错误 404,因为我写了这样的东西:

app.get('/', function (req, res){
  res.render('index');
});

有没有更好的方法来修改这些行,例如:

var relPath = '/app';

app.get(relPath + '/', function (req, res){
  res.render('index');
});

?

4

1 回答 1

4

正如瑞安评论的那样,解决方案是:

app.use('/app', app.router);

如果您使用例如 express.static 或 express.favicon 您还必须告诉 app.use 路径:

app.use('/app', express.favicon(__dirname + '/public/images/favicon.ico'));
app.use('/app', express.static(__dirname + '/public'));

请记住在您在 html 中设置的每个内部链接之前写“/app”。

于 2013-01-06T00:23:42.397 回答