Re: один конфиг для нескольких virtualhost
Борис Долгов
boris на dolgov.name
Сб Дек 19 07:58:34 MSK 2009
Короче, Ваш конфиг надо переписать так:
server {
listen 80;
server_name site.ru www.site.ru;
location / {
proxy_pass http://127.0.0.1:81;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
server {
listen 80;
server_name ~ www\.(?<nhost>.*)$;
location / {
rewrite ^ http://$nhost/$request_uri;
}
}
server {
listen 80 default;
server_name _;
location / {
proxy_pass http://127.0.0.1:81;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location ~* \.(jpeg|jpg|gif|png|css|js|pdf|txt|tar|ico)$ {
root /var/www/static/$host;
}
}
Чем плох if - можно почитать тут в архивах рассылки, я так же на
хабрахабре писал про это.
Я создал два виртхооста - один обрабатывает домены на www и делает
редирект, другой - обрабатывает сайты и является стандартным.
19 декабря 2009 г. 6:57 пользователь zaartix <nginx-forum at nginx.us> написал:
> выговорите, что
>
> тавот смысл в том, что я как раз и пытался первым сервером сделать правила для site.ru, т.е. хост=site.ru. Но почему-то он туда отправляет все запросы.
>
> да, кстати, замена localhost на "_" во втором сервере ничего не дает, точнее именно так было изначально у меня сделано, но потом засомневался в правильности и перед публикацией исправил на локалхост.
>
> И можно еще намекнуть чем плох "if ( $host ~ www\.(.*)$ )" ?
>
> Posted at Nginx Forum: http://forum.nginx.org/read.php?21,27432,31785#msg-31785
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
>
--
С уважением, Борис Долгов.
icq 77556665
e-mail boris at dolgov.name
Подробная информация о списке рассылки nginx-ru