Назад | Перейти на главную страницу

Nginx эквивалентен lighttpd «evhost.path-pattern»

Я настраиваю новый сервер для своих личных вещей. На старом ящике уже почти два года использую lighttpd. Я немного читал об этом, и большинство людей склонны переключаться на nginx, поскольку его разработка идет гораздо активнее.

Теперь я немного поражен мощью nginx. Самая крутая вещь, которую я использовал с lighty, - это функция «evhost.path-pattern», где я могу просто делегировать все домены и поддомены, используя более или менее сложное регулярное выражение и определяя «evhost.path-pattern =» / var / www / pages /% 0 / subdomains /% 3 / ", поэтому мне просто нужно создать новую папку в" subdomains ", и в ту же секунду у меня есть рабочий веб-каталог для загрузки материалов для нового субдомена (или нового домена).

У Nginx есть такая конструкция:

server {
    server_name   ~^(www\.)?(?<domain>.+)$;

    location / {
        root   /sites/$domain;
    }
}

Но теперь у меня проблемы с поиском правильного RegEx для одновременного охвата доменов и поддоменов (я сделал это, имея RegEx, чтобы перехватить домен и отрицать его для поддоменов). Я хочу, чтобы основной домен (с www и без него) находился в / var / www / pages // htdocs /, а все поддомены должны переходить в / var / www / pages // subdomains //.

Любая помощь по этому поводу?

конвертировать из комментарий на CW

У меня сейчас два server{} директива.

Один для основных доменов (с www и без него) и один для поддоменов, каждый с подходящим регулярным выражением для получения имени домена и поддомена.