Добрый день,уважаемые коллеги!
Помогите,пожалуйста, новичку разрешить следующую проблему.

1. Необходимо сделать несколько сайтов в одном домене.Сайты различаются
только языковой версией,являющейся обязательной для идентификации.
Например, 
mydomen.com/ru/
mydomen.com/eng/
mydomen.com/esp/

Сайты расположены на различных vps (бэкэнд) и nginx проксирует запросы к
этим бэкэндам. Одновременно с этим запросы кэшируются.
Для быстрой отдачи статики сделаны локейшины, которые для каждого сайта
свои, но имеют общие названия.
Например,

location ^~ /styles/ {
alias /patch/site1/public_html/_css/;
try_files $uri $uri/ /index.php;
error_page 404 = /fetch$uri;
access_log off;
}

location ^~ /styles/ {
alias /patch/site2/public_html/_css/;
try_files $uri $uri/ /index.php;
error_page 404 = /fetch$uri;
access_log off;
}

location ^~ /styles/ {
alias /patch/site3/public_html/_css/;
try_files $uri $uri/ /index.php;
error_page 404 = /fetch$uri;
access_log off;
}

Так как, для размещения различных сайтов в одном домене (ответ нашёл на этом
форуме) необходимо их размещять в разных локейшенах,то я пишу в конфиге

server {
        server_name mysite.com;
        rewrite ^(.*)$ http://www.mysite.com$1 permanent;
}

server {
        listen 80;

        index index.php index.html index.htm;
        server_name www.mysite.com;


        location / {

                include /etc/nginx/conf.d/location/redirect_1.conf;
                include /etc/nginx/conf.d/location/redirect_2.conf;
                include /etc/nginx/conf.d/location/drop_1.conf;
                include /etc/nginx/conf.d/location/static_main.conf;

               location /ru/ {
                        include /etc/nginx/conf.d/location/static_s1.conf; 
############
##Здесь nginx выдаёт ошибку дублирования , так как в локейшене встречаются
аналогичные описания для основного сайта.
                       proxy_pass http://mysite1_backend;
                       access_log /var/log/nginx/mysite1/my1.log up_head;
                       }

        location /de/ {
                        include /etc/nginx/conf.d/location/static_s2.conf; 
#############
                       proxy_pass http://mysite2_backend;
                       access_log /var/log/nginx/mysite2/my2.log up_head;
                       }

        location /esp/ {
                        include /etc/nginx/conf.d/location/static_s3.conf; 
########
                       proxy_pass http://mysite3_backend;
                       access_log /var/log/nginx/mysite1/my3.log up_head;
                       }

}

Возможно ли как-то обойти ошибку не меняя описания в самом локейшене?

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,248658,248658#msg-248658

_______________________________________________
nginx-ru mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить