我正在建立一个新版本的网站,我必须负责旧网址看起来像: http ://website.com/article_title_rewrited-article_id.html
实际上,我尝试做类似的事情:
app.get('/:title\-:id([0-9]).html', function...);
但它当然失败了!
我可以使用 expressjs 进行这种类型的重写,还是使用另一种方法来移植 url 重写?
提前感谢!
我正在建立一个新版本的网站,我必须负责旧网址看起来像: http ://website.com/article_title_rewrited-article_id.html
实际上,我尝试做类似的事情:
app.get('/:title\-:id([0-9]).html', function...);
但它当然失败了!
我可以使用 expressjs 进行这种类型的重写,还是使用另一种方法来移植 url 重写?
提前感谢!
我看到您正在尝试使用 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 扩展名进行一般排序,如果这可以是一个有用的指南:)