Назад | Перейти на главную страницу

Почему эта конфигурация vhosts перенаправляет другие домены на один

Пытаюсь добавить в nginx второй домен. Это нормально для доступа к статическим файлам, таким как css, в domain2.com, но посещение сценариев php (например, domain2.com/index.php) будет 302 перенаправлением на domain1.com (например, domain1.com/index.php), поэтому я подумал, что перерыв точка должна быть в location ~ \.php$ раздел, но я не могу точно сказать, где он. Я здесь давно застрял, где я делаю не так? [ОС: windows 2008; Nginx: 1.0.12]

nginx.conf

worker_processes  1;

events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    client_max_body_size 50m;

    gzip  on;

    server {
        listen         80;
        server_name     _;
        server_name_in_redirect  off;
        location / {
            root  F:/Web/nginx/html/;
            index index.html;
        }
    }
    include F:/Web/nginx/vhosts/*.conf;
}

F: /Web/nginx/vhosts/domain1.com.conf

    server {
    listen       80;
    server_name  domain1.com;
    charset utf-8;

    location / {
            root   F:/domain1;
        index  index.php;
        try_files $uri $uri/ /index.php?$args;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  F:/domain1/$fastcgi_script_name;
        include        fastcgi_params;
    }
    location ~ /\.ht {
        deny  all;
    }
}

F: /Web/nginx/vhosts/domain2.com.conf

server {
listen       80;
server_name  domain2.com;
charset utf-8;

location / {
    root   F:/domain2;
    index  index.php;
    try_files $uri $uri/ /index.php?$args;
}
error_page   500 502 503 504  /50x.html;
location = /50x.html {
    root   html;
}

location ~ \.php$ {
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_split_path_info ^(.+\.php)(.*)$;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  F:/domain2/$fastcgi_script_name;
    include        fastcgi_params;
}

location ~ /\.ht {
    deny  all;
}
}

ОБНОВИТЬ:

Я нашел причину - проблема не в конфигурации nginx, а в конфигурации php-cgi. Я установил doc_root='F:/domain1' поэтому он продолжает перенаправлять.

Надежда может помочь любому, кто снова столкнется с этим вопросом.