路由中的一个参数实际上是一个url。
router.get('/api/sitemap/:url', function(req, res)
{
var url = req.params.url;
...
}
当:url实际上是" http://domain.com/file.xml"等链接时,如何允许此操作。
我收到404错误,我理解这是因为它没有正确链接,因此无法处理错误。
提前致谢。
答案 0 :(得分:1)
您的路由器返回404,因为它无法识别路径。 您应该按照注释中的建议对url参数进行编码,或者将其进一步切片,如下所示:
.get('/api/site/:domain/: file', cb)
问题在于,如果你也通过了协议,那么你必须匹配。
现在没有控制台可以尝试,但我认为您可以通过通配符:
'/api/sitemap/*'
你必须自己解析网址,但这很简单:
var url = req.url.substr(14);
(不确定那里的索引是13还是14,因为我在我的手机上,所以依靠指针: - ))。