如何重定向到自定义网址?

时间:2019-03-24 17:44:05

标签: node.js

我正在设置一个管理面板,管理员通过单击enter在存储在数据库中的文本区域中输入其自定义URL。现在,我想将他重定向到他已经输入的自定义网址。那怎么可能? 在下面的代码中,如何从数据库中声明customURL

router.get('/blog/'+customURL, (req, res) => {
  MongoClient.connect(url, function(err, db) {
    if (err) throw err
    var dbo = db.db("barg")
    var query = { username: "a" }
    dbo.collection("post").find(query).toArray(function(err, result) {
      if (err) throw err
      console.log(result[0].url)

      res.render('blog',{
        post : result[0].content
      })
      db.close()
    })
  })
})

1 个答案:

答案 0 :(得分:1)

您需要使用的是路径参数,并检查提供的路径是否为有效的URL。如果不是,请以404 - Not found

结束请求
router.get('/blog/:path', async(req, res) => {

  // check if req.params.path is a valid URL in DB
  const validUrl = await isValidUrl(req.params.path);
  if(!validUrl) {
    return res.status(404).send('not found');
  }

  MongoClient.connect(url, function(err, db) {
    if (err) throw err
    var dbo = db.db("barg")
    var query = { username: "a" }
    dbo.collection("post").find(query).toArray(function(err, result) {
      if (err) throw err
      console.log(result[0].url)

      res.render('blog',{
        post : result[0].content
      })
      db.close()
    })
  })
})