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
|