Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Поддомен для всех доменов сразу
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 (спорно).
Что забыл?
|