Nginx переписывает *.domain.tld/page в domain.tld/page

Nginx переписывает *.domain.tld/page в domain.tld/page

Не могу настроить перенаправление с *.domain.tld/personal на domain.tld/personal

server {
    server_name domain.tld www.domain.tld *.domain.tld;
    listen 100.10.10.1;
    set $root_path /var/www/user1536/data/www/new.domain.tld;
    location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
        root $root_path;
        access_log /var/www/nginx-logs/user1536 isp;
        access_log /var/www/httpd-logs/domain.tld.access.log ;
        error_page 404 = @fallback;
    }

    location /personal {
        if ($http_host != domain.tld) { rewrite ^ http://domain.tld/personal; }
    }

    location / {
        proxy_pass http://100.10.10.1:81;
        proxy_redirect http://100.10.10.1:81/ /;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
    }
    location ~* ^/(webstat|awstats|webmail|myadmin|pgadmin)/ {
        proxy_pass http://100.10.10.1:81;
        proxy_redirect http://100.10.10.1:81/ /;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
    }
    location @fallback {
        proxy_pass http://100.10.10.1:81;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
    }
    location ^~ /webstat/ {
        auth_basic "Restricted area";
        auth_basic_user_file /var/www/user1536/data/etc/42338471.passwd;
        try_files $uri @fallback;
    }
    include /usr/local/ispmgr/etc/nginx.inc;
}

решение1

Для перенаправления следует использовать другой серверный блок.

server {
    server_name *.domain.tld;
    listen 100.10.10.1;

    location /personal {
        rewrite ^ http://domain.tld/personal permanent;
    }
}

А затем следует удалить locationблок из другого serverблока и удалить *.domain.tldиз server_nameдирективы.

Связанный контент