Задать вопрос
RicoX
@RicoX
Ушел на http://ru.stackoverflow.com/

Помогите с регуляркой для nginx

Есть конфиг, примерно такого содержания

server {
    listen 80;
    server_name ~^(?:www\.)?(?P<host_wo_www>.+)$;
    server_name_in_redirect     off;
    resolver    127.0.0.1;

Сответственно в переменную $host_wo_www попадает полное имя домена без www, но мне нужно получить еще одну переменную, чтоб туда попадал только поддомен третьего уровня, то-есть имеем www.subdomain.domain.com мне надо иметь переменную куда попадет только subdomain, может кто поможет с регуляркой?
  • Вопрос задан
  • 3256 просмотров
Подписаться 8 Оценить 1 комментарий
Решения вопроса 1
starius
@starius
программист, аспирант МГУ
У меня так получилось:
server_name ~^(?:www\.)?(?P.+)?\.(?P[^\.]+\.[^\.]+)$;
Если в домене будет больше 3 частей, то "лишние" отходят к subdomain:
abc.def.ghi.ru ->abc.def + ghi.ru
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы