Конкретный путь URL - PullRequest
0 голосов
/ 22 ноября 2018

Я ищу метод, чтобы поймать эти URL:

... но неэти:


Пока я получил этот код - но, очевидно, я тожеперехватывать URL-адреса, которые я не хочу получать (сверху):

var express = require('express');
let app = express();

app.get(/\/subsite(?:\.html)?$/, function(req, res) {

})

Я пытался исправить свой код, вставив com перед регулярным выражением, но это, похоже, небыть рабочим решением: /.*com\/subsite(?:\.html)?$/.

Как обойти эту проблему?

Ответы [ 3 ]

0 голосов
/ 22 ноября 2018

Вам не нужно использовать объект Reg Ex, это будет нормально работать:

app.get("/subsite(.html)?", function(req, res) {
    /*...*/
})

Соответствует любому пути, начинающемуся с "subsite" и с возможностью .html

0 голосов
/ 22 ноября 2018

В вашем регулярном выражении отсутствует ограничение, позволяющее отображать дочерний сайт только в начале ^:

/^\/subsite(?:\.html)?$/

. Ведьма аналогична использованию только строки:

"/subsite(.html)?"

что я упоминал в другом ответе.

Не забывайте, что в экспрессе вы заботитесь только о пути и части запроса в URL.

0 голосов
/ 22 ноября 2018

Это сработало для меня.

app.get(/.*com\/subsite(?:\.html)?$/, function(req, res) {

})

Вот где я это проверял: https://regex101.com/r/42lhKg/1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...