我有web內容:由<a href="https://overviewer.org/" rel="nofollow">Minecraft Overviewer</a>產生的混合通配符和參數的快速
/home/mc/backups/servername/latest/overviewer
我有快遞/一的NodeJS非常簡單服務器。這裏是我的app.js:
var express = require('express');
var app = express();
//----------------------------------------------------------------------------+
// Each server's root points to the latest overviewer page |
//----------------------------------------------------------------------------+
app.get('/minecraft/:server/*', function(req, res) {
console.log('HELLO?');
res.send('Finally some luck!');
/*
var
server = req.params.server,
file = req.params[0] ? req.params[0] : 'index.html',
dir = '../backups/' + server + '/latest/overviewer';
res.sendFile(file, { root: dir });
*/
});
app.use(express.static('www'));
app.listen(80, function() {
console.log('Web server listening on port 80');
});
我包括比正在運行,所以你可以看到我的意圖的情況下,這是一個XY樣的問題多一點的代碼。我想要路由靜態文件,但我不認爲我可以使用express.static
,因爲我想將URL映射爲與我的文件結構(並基於服務器名稱)稍有不同。
那麼我的簡單服務器有什麼問題?當我嘗試導航到mysite.com/minecraft/isopre
時,我看到一個白頁,表示Cannot GET /minecraft/isopre
。如果我從第7行的字符串末尾刪除*
,我會看到Finally some luck!
。但我想要那裏的明星,所以我可以將mysite.com/minecraft/isopre
映射到index.html
或mysite.com/minecraft/isopre/overviewer.js
。
那麼正確的做法是什麼?
工程就像一個魅力。謝謝:)我認爲這很簡單 – Assimilater