ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

несколько сайтов в одном домене, с аналогичными локйешенами.


  • To: nginx-ru@xxxxxxxxx
  • Subject: несколько сайтов в одном домене, с аналогичными локйешенами.
  • From: "eug.l" <nginx-forum@xxxxxxxx>
  • Date: Tue, 25 Mar 2014 03:20:01 -0400
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=selenium.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=rscowlIYno7tCctbeQJp0KV0r1Y4igdab11e2GTatfs=; b=QM0nzWA/TnkPRK+vFzDid+SIueyr/84TVGJ8DbPJi/uEku59Dql5X7erW50BLZ44hC5OouzQ9MyYK8abM5HTZn4W9w8QRY8b8gOkszfRm09fYoAAwHdNq6rzV8sPdCnCxDyA7xX/Rb3D0JS7um8nuGTDi6MJ0SHJSeTftDLbPes=;

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

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
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.