6

node.jsとexpressでウェブサイトを作成しました。次に、サブディレクトリでnode.jsサーバーを使用するようにlighttpdを設定しました。

$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 に答える