MDN Express教程新增路由时出现404错误求助
解决Express路由404问题
你的问题出在路径匹配的严格性上:
- 你定义的路由是
/cool(不带末尾斜杠) - 但你访问的是
/cool/(带末尾斜杠)
Express默认会严格匹配路径的每一个字符,包括末尾的斜杠,所以这两个路径会被视为不同,导致404错误。
给你三种解决办法:
- 修改路由定义,加上末尾斜杠
直接把路由改成匹配带斜杠的路径:
router.get('/cool/', function(req, res, next) { res.send('You are so cool!'); });
这样访问http://localhost:3000/users/cool/就能正常返回内容了。
- 关闭路由的严格匹配模式
在创建Router的时候添加strict: false选项,让路由忽略末尾斜杠的差异:
var router = express.Router({ strict: false });
这样不管访问/cool还是/cool/都能匹配到你定义的路由。
- 访问不带末尾斜杠的路径
直接访问http://localhost:3000/users/cool(去掉末尾斜杠),你的原代码就能正常响应。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

