具有斜杠的ExpressJS路径参数

JR *_*lia 2 routes node.js express

我正在使用ExpressJS.我想传递url作为参数.

app.get('/s/:url', function(req, res) {
    console.log(req.params.url);
});

/s/sg.com                   //sg.com
/s/www.sg.com               //www.sg.com
/s/http://sg.com            //http://sg.com
/s/http://sg.com/folder     //http://sg.com/folder
Run Code Online (Sandbox Code Playgroud)

如何纠正路线,以便/s/将所有后续内容视为包含斜线的参数.

谢谢

Pet*_*ons 6

呃,如果你想在另一个URL中加入一个URL,你需要对它进行URL编码.如果你想坚持原来并承担后果,只需使用app.get('/s/*'...然后手动解析网址req.url.slice(3).但听到我知道并相信我以后,URL编码是通过encodeURIComponent内置于JavaScript并在浏览器和node.js中工作的正确方法.