0

我正在建立一个新版本的网站,我必须负责旧网址看起来像: http ://website.com/article_title_rewrited-article_id.html

实际上,我尝试做类似的事情:

app.get('/:title\-:id([0-9]).html', function...); 

但它当然失败了!

我可以使用 expressjs 进行这种类型的重写,还是使用另一种方法来移植 url 重写?

提前感谢!

4

1 回答 1

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 扩展名进行一般排序,如果这可以是一个有用的指南:)

于 2013-04-05T15:31:14.370 回答