Express:匹配 url 语言代码的路线
Express: match route for language code in url
我正在尝试为这条路线捕获两个字符的可选 :lang?
参数:
/ // lang: undefined
/en // lang: en
/projects // lang: undefined
/en/projects // lang: en
这是我的尝试:
router.get('/:lang([a-z]{2})?*', function(req, res, next) {
}
但是对于 /projects
它将 :lang?
参数设置为 pr
。
我怎样才能避免这种情况?
要解决这个问题,您可以尝试使用下一个模式:
/:lang([a-z]{2})?/:rest(*)?
这里引入了另一个可选参数rest
来捕获这样的尾随。
您可以查看现场示例:
我正在尝试为这条路线捕获两个字符的可选 :lang?
参数:
/ // lang: undefined
/en // lang: en
/projects // lang: undefined
/en/projects // lang: en
这是我的尝试:
router.get('/:lang([a-z]{2})?*', function(req, res, next) {
}
但是对于 /projects
它将 :lang?
参数设置为 pr
。
我怎样才能避免这种情况?
要解决这个问题,您可以尝试使用下一个模式:
/:lang([a-z]{2})?/:rest(*)?
这里引入了另一个可选参数rest
来捕获这样的尾随。
您可以查看现场示例: