несколько сайтов в одном домене, с аналогичными локйешенами.
eug.l
nginx-forum at nginx.us
Tue Mar 25 07:20:01 UTC 2014
Добрый день,уважаемые коллеги!
Помогите,пожалуйста, новичку разрешить следующую проблему.
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