我正在构建一个新版本的网站,我必须负责更旧的网址,如下所示: http://website.com/article_title_rewrited-article_id.html
实际上,我尝试做类似的事情:
app.get('/:title\-:id([0-9]).html', function...);
但当然失败了!
我可以使用expressjs进行这种类型的重写,还是让我使用其他方法来移植url重写?
先谢谢!
答案 0 :(得分:0)
我看到你正在尝试使用Express url路由解析器以及REGEX表达式,遗憾的是这不起作用,你必须使用其中一个。
删除字符串并放置REGEX图案。然后REGEX表达式中的组将在req.params [0]和req.params [1]中可用。
app.get(/(.+)\.html/, function(req, res, next) {
res.redirect(req.params[0].substring(0, req.params[0].length - 5)); // -5 for length of '.html'
});
我认为应该(未经测试)对所有.html扩展进行排序,如果这可以作为一个有用的指南:)