我试图让多个 URL 在一个快速路由上工作。如何使以下 URL 都路由到同一页面?
- https://example.com/page-slug-name
- https://example.com/page-slug-name/amp
- https://example.com
- https://example.com/amp
这似乎应该有效,但事实并非如此:
router.get("/:slug?(/amp)?", function(req, res, next) {
if (!req.params.slug) {
req.params.slug = 'home'
}
getData(slug, function(err, data){
res.render('index', data)
});
});
最佳答案
您可以通过在数组中放置多个 URLS 来将其放在单个快速路由中。 在您的情况下,这将是
app.get(['/', '/:slug', '/amp', '/:slug/amp'], function(req, res, next) {
if (!req.params.slug)
req.params.slug = 'home'
getData(slug, function(err, data){
res.render('index', data)
});
);
关于快速路由 : multiple URLs to the same route,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47338471/