2014-01-19 7 views
10

Wie wird die Groß- und Kleinschreibung von URLs berücksichtigt?nodejs express - case sensitive URLs

app.get()

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

Hier ist diese app.get() fangen beide /EN/api/eN/api

Was kann ich dies nur tun, es fängt niedriger wie /en/api Fall URL ??

Antwort

17

Von Express.js api docs

case sensitive Routing - Aktivieren Sie Groß- und Kleinschreibung, die standardmäßig deaktiviert, Behandlung "/ Foo" und "/ foo" als die gleiche

Sie können Ändern Sie die Standardeinstellungen wie folgt:

app.set('case sensitive routing', true); 
+1

Gibt es eine Möglichkeit, den Pfad in Kleinbuchstaben zu erzwingen? Der Grund dafür ist, dass doppelte URLs verhindert werden und SEO organisiert bleibt. – Costa

+1

Ich konnte das nie in Express 4 arbeiten. Ich habe auch app.enable ('case sensitive routing') versucht, aber es hat immer noch einen URL-Fall genommen. Ich habe meine Lösung schließlich mit regulären Ausdrücken anstelle von Strings gelöst. Das hat perfekt funktioniert. –

+0

Verwenden Sie diese: router = express.Router ({ caseSensitive: true }); – dhrubaj