Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
квантификация группы
- To: nginx-ru@xxxxxxxxx
- Subject: квантификация группы
- From: VovansystemS <vovansystems@xxxxxxxxx>
- Date: Sat, 12 Jan 2013 12:32:05 +0300
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=kbyLEQp/aY3UJk61q20R1VoW7jdzFiYy5JW7C4hjBEU=; b=cbk0nAlhDLQQQi4U5om8wNbP5xxtQ0u0RAK88C0E1uY40QZCieZFRwb84foLFBtEov FfykjB+srDRRp+9q1GKwbHGbrVvJzpCF03IRBNZA+QRyBIl96Hc0yL6PW/Q/RoFgXIEA tzNsAKZHBkJuNMbPq5uv5EUpYL+O6nno5R+yHKSv8BrcnsaE/Qrm7Oz/B+oswK/b0/3C Qh/3AM9btGRVpIpPbIoZJkW8ruCLtz6j3ZJRJZtjJJm7lnKz3OU3AQscf8hlwvYS2p4R 92VdzfPfhJ72miWSPS5W9jIfbQWUfkRYTkhkVTVy2l0ZBfyKV8ueoxXWyRJe2UQH3KDs hRpg==
Здравствуйте!
Требуется создать один server, который будет обрабатывать все запросы
по единому шаблону. Поскольку некоторые сайты могут иметь поддомен
www., а папки с сайтами имеют название без www. то я написал такой
server_name
server_name ~^(?:www\.)*(?<domain>.+)$;
И данный конфиг работает, но не совсем так, как требуется. Из-за того
что я применил квантификатор * (ноль или более раз), что соотвествует
{0,}, то некоторые сайты будут обрабатываться неправильно. Например
Host: www.www.example.com
в переменную $domain попадёт только example.com, а должен был бы
попасть www.example.com
На самом деле это не очень важный момент, но когда я попытался
исправить это поведение, оказалось что я не понимаю как работает
квантификация для группы через фигурные скобки в nginx.
Вариант, который все запросы должен обрабатывать правильно:
server_name ~^(?:www\.)\{0,1}(?<domain>.+)$;
почему-то не работает. возможно, я не там экранирую фигурные скобки
или не совсем понимаю синтаксис. как правильно квантифицировать группу
в nginx?
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|