Re[2]: один конфиг для нескольких virtualhost
Denis F. Latypoff
denis на gostats.ru
Сб Дек 19 13:35:21 MSK 2009
Hello Борис,
Saturday, December 19, 2009, 10:58:34 AM, you wrote:
> Короче, Ваш конфиг надо переписать так:
> 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>.*)$;
+ server_name ~www\.(?<nhost>.*)$;
> location / {
- rewrite ^ http://$nhost/$request_uri;
+ 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
>>
>>
--
Best regards,
Denis mailto:denis at gostats.ru
Подробная информация о списке рассылки nginx-ru