Как проверить ХОСТ с помощью ExpressJS? - PullRequest
9 голосов
/ 28 июня 2011

Я должен проверить HOST запроса http, если он равен example.com или www.example.com, мне нужно сделать редирект 301.

Как я могу сделать это, используя Node.js и Express Web Framework?

Ответы [ 4 ]

8 голосов
/ 05 мая 2016

Используйте

req.headers.host;

или

req.header('host');

Оба вернут вам имя хоста.например, localhost:3000

3 голосов
/ 28 июня 2011

req.header('host')

Используйте это в ваших обработчиках запросов.

3 голосов
2 голосов
/ 17 февраля 2015

Выполните поиск строки, используя регулярное выражение, например:

if ( req.headers.host.search(/^www/) !== -1 ) {
  res.redirect(301, "http://example.com/");
}

Метод поиска принимает регулярное выражение в качестве первого аргумента, обозначаемого косой чертой. Первый символ ^ в выражении означает явный просмотр начала строки. Остальная часть выражения ищет три явных w. Если строка начинается с «www», то метод поиска вернет индекс соответствия, если он есть (0), или -1, если он не был найден.

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