Как добиться перенаправления 301 с www to не-www website с использованием Nginx? - PullRequest
0 голосов
/ 10 февраля 2020

У меня есть сайт, развернутый на капле Digital Ocean. Вот как выглядит мой Nginx файл в sites-available.

server {
    server_name domain.com www.domain.com domain_ip;
    root /var/www/project/dist;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/user/project;
    }

    location / {
     try_files $uri $uri/ /index.html =404;
    }

    location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ {
        expires 1M;
        access_log off;
        add_header Cache-Control "public";
    }

    # CSS and Javascript
    location ~* \.(?:css|js)$ {
        expires 1M;
        access_log off;
        add_header Cache-Control "public";
    }

    location /rest {
        include proxy_params;
        proxy_pass http://unix:/home/user/project.sock;
    }



    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/dinq.in/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/dinq.in/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot



}


server {
    if ($host = www.domain.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = domain.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    server_name domain.com www.domain.com domain_ip;
    listen 80;
    return 404; # managed by Certbot

}

Все мои попытки реализовать перенаправление 301 с www to non- www version моего сайта провалились.

Какие изменения я должен внести в sh перенаправление с www.domain.com на domain.com?

...