nodejs express - 区分大小写的URL

cla*_*rkk 14 case-sensitive node.js express

如何使URL区分大小写?

app.get()

app.get('/([a-z]{2}/)api*', function(request, response){});
Run Code Online (Sandbox Code Playgroud)

这个app.get()捕获这两个 /EN/api /eN/api

我能做什么才能捕获小写网址/en/api

Ila*_*mer 20

来自express.js api docs

区分大小写的路由 - 启用区分大小写,默认情况下禁用,将"/ Foo"和"/ foo"视为相同

您可以像这样更改默认值:

app.set('case sensitive routing', true);
Run Code Online (Sandbox Code Playgroud)

  • 有没有办法将路径强制转换为小写?这样做的理由是可以防止重复的网址并帮助SEO保持井井有条。 (2认同)

Ник*_*еда 5

app.set('case sensitive routing', true);
Run Code Online (Sandbox Code Playgroud)

仅当您不在其他文件中使用时才有效

const express = require('express');
const router = express.Router();
Run Code Online (Sandbox Code Playgroud)

如果在我们的例子中与上面相同,只需执行以下操作(在每个文件中):

const express = require('express');
const router = express.Router({caseSensitive: true});
Run Code Online (Sandbox Code Playgroud)