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

Поддомен Nginx перенаправляет на домен, что не так?

У меня есть сервер с серверами под Nginx, работающий нормально (блоги WordPress). Теперь я хочу настроить сервер phplist и разместить его под одним поддоменом, но хотя я думал, что настроил поддомен без проблем, каждый раз, когда я пытаюсь загрузить поддомен, запрос сразу же отправляется в один из моих доменов.

Это файл конфигурации Nginx для моего домена (я заменил доменное имя):

server  {
    listen  80;
    server_name  mydomain.com  www.mydomain.com;
#    error_log /var/www/mydomain/mydomain_error.log;                                                                
    root  /var/www/mydomain/;

    location ~* ^.+.(bz2|jpe?g|gif|gz|png|ico|css|zip|rar|doc|xls|exe|pdf|ppt|txt|tar|tgz|mid|midi|mp3|wav|bmp|rtf\
|js|swf|avi|m2t|mkv)$ {
        access_log  off;
        expires  30d;
        root  /var/www/mydomain/;
    }

              location / {
                 index index.php;
                 client_max_body_size 3M;
                 try_files $uri $uri/ /index.php?q=$uri&$args;
                 # if the requested file exists, return it immediately                                              
                 if (-f $request_filename) {
                    break;
                 }

                 #if ($http_user_agent !~ FeedBurner) {                                                             
                   # rewrite ^/comment/feed/ http://feeds.feedburner.com/your-comment-feed last;                    
                  # rewrite ^/feed/ http://feeds.feedburner.com/Muypymes last;                                      
                  # }                                                                                               
                if ($http_user_agent !~ "^MediafedMetrics.*") {
                        rewrite ^/feed/?$ http://feeds.feedburner.com/Muypymes last;
              }


                        # all other requests go to WordPress                                                        
                                if (!-e $request_filename) {
                                rewrite . /index.php last;
                                }
              }

              ## Parse all .php file in the /var/www directory                                                      
              location ~ .php$ {
                 fastcgi_split_path_info ^(.+\.php)(.*)$;
                 fastcgi_pass   backend;
                 fastcgi_index  index.php;
                 fastcgi_param  SCRIPT_FILENAME  /var/www/mydomain/$fastcgi_script_name;
                 include fastcgi_params;
                 fastcgi_param  QUERY_STRING     $query_string;
                 fastcgi_param  REQUEST_METHOD   $request_method;
                 fastcgi_param  CONTENT_TYPE     $content_type;
                 fastcgi_param  CONTENT_LENGTH   $content_length;
                 fastcgi_intercept_errors        on;
                 fastcgi_ignore_client_abort     on;
                 fastcgi_read_timeout 360;
              }


              ## Disable viewing .htaccess & .htpassword                                                            
              location ~ /\.ht {
                 deny  all;
}


              location = /favicon.ico {
                         access_log off;
                         log_not_found off;
                         }
}


upstream backend {
              server 127.0.0.1:9000;

}

А это файл конфигурации поддомена, который был настроен после Вики Nginx. Как видите, субдомен из другого домена, а не из того, на который он перенаправляет.

Я имею в виду, что когда я захожу на phplist.myotherdomain.com, он переходит на www.mydomain.com. Myotherdomain и Mydomain отличаются друг от друга, и на самом деле основной myotherdomain находится на другом сервере и работает отдельно (и я бы хотел оставить его таким). Это файл конфигурации:

server {
                listen 80;
                server_name phplist.myotherdomain.com;

                root /var/www/phplist/public_html/lists;
                index index.php;

                #access_log <<log file>>;
                #error_log <<log file>>;

                charset utf-8;

                location ~* \.(txt|log|inc)$ {
                    allow 127.0.0.1;
                    deny all;
                }

                location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
                  expires max;
                  log_not_found off;
               }

                #block phplist config directory
                location /config {
                    deny all;
                }

                #per the phplist .htaccess these are the only public allowed php files
                location ~* (index\.php|upload\.php|connector\.php|dl\.php|ut\.php|lt\.php|download\.php)$ {
                       fastcgi_split_path_info ^(.|\.php)(/.+)$;

                       include /etc/nginx/fastcgi_params.conf; #standar fastcgi config file
                       fastcgi_param SCRIPT_FILENAME /var/www/phplist/public_html/lists$fastcgi_script_name;
                       fastcgi_intercept_errors on;
                       fastcgi_pass 127.0.0.1:9000;
                }


                #block all other php file access from public
                location ~ \.php$ {
                   deny all;
                }

}

Я думаю, что проблема заключается в части fastcgi, но я не уверен, что там не так. Я использую PHP-FPM вместе с Nginx. Корневые папки в порядке, а файлы моих блогов и сервера phplist находятся там, где должны быть.

Любые идеи?