Поддомен для всех доменов сразу
Andrey N. Oktyabrski
ano at antora.ru
Mon Dec 17 16:39:34 MSK 2007
Igor Sysoev wrote:
> On Mon, Dec 17, 2007 at 05:01:13PM +0600, Denis F. Latypoff wrote:
>
>> Hello Andrey,
>>
>> Monday, December 17, 2007, 4:34:23 PM, you wrote:
>>
>>> Igor Sysoev wrote:
>>>>> Кстати, это вариант - ставить прочерк в качестве основного имени:
>>>>> server_name - mail.*;
>>>>> Синтаксически выглядит не плохо. Вариант "_"
>>>>> server_name _ mail.*;
>>>>> можно остваить для совместимости с существующими конфигурациями.
>>>> Ещё один вариант - разрешить
>>>> server_name mail.*;
>>>> а в случае вышеописанного запроса без Host вместо редиректа выдавать 404,
>>>> поскольку от редиректа в виде http://-/dir/, http://_/dir/ или
>>>> http://mail.*/dir/ пользы примерно столько же.
>>> Ну неужели вымылось золото из песка? :-) Последний вариант прям совсем
>>> хорошо выглядит.
>>>> Осталось придумать синтаксис для:
>>>> server_name site *;
>>> А оно не сведётся естественным образом к убиранию "site"? Так же как для
>>> mail.*?
>> Я думаю, что новички, видя в доке, что можно использовать wildcard'ы, судорожно
>> начинают писать вот такое:
>>
>> server {
>>
>> listen xxx.xxx.xxx.xxx:xx;
>> server_name *;
>>
>> if ($host ~ ...) {
>> ...
>> }
>>
>> if ($host ~ ...) {
>> ...
>> }
>> ...
>> }
>>
>> может вообще убрать wildcard'ы?
>
> Именно '*' ? Да, именно это я и хочу сделать.
То есть, какое именно поведение надо представить визуально по другому?
1. server_name DEFAULTNAME pattern
pattern ::= NAME.* | *.NAME | regexp
Будет заменено на:
server_name (-|_|NULL) pattern
Вопрос: как регулировать поведение при необходимости редиректа?
2. server_name DEFAULTNAME *
На что заменить, пока не ясно. Вопрос тот же.
Предложение:
server_name [DEFAULTNAME] pattern
pattern ::= NAME.* | *.NAME | regexp | *
Если DEFAULTNAME не задано, никаких редиректов не делается.
Вместо него можно разрешить прописывать $host (спорно).
Что забыл?
More information about the nginx-ru
mailing list