如何在nginx服务器中正确地将(301)www重定向到非www?

如何在nginx服务器中正确地将(301)www重定向到非www?,nginx,redirect,digital-ocean,lets-encrypt,Nginx,Redirect,Digital Ocean,Lets Encrypt,我已经尝试了其他答案所建议的所有方法,但没有任何效果。如何永久重定向到wwwhttps://non-www? 这是我的nginx服务器配置 server { server_name domain.com www.domain.com; root /var/www/www.domain.com; index index.html index.htm index.php; location / { try_files $ur

我已经尝试了其他答案所建议的所有方法,但没有任何效果。如何永久重定向到wwwhttps://non-www?

这是我的nginx服务器配置

 server {
        server_name domain.com www.domain.com;
        root /var/www/www.domain.com;

        index index.html index.htm index.php;

   location / {
        try_files $uri $uri/ =404;
    }

    location ~ /\.ht {
        deny all;
    }


    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
     }


    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/domain.com/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


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

}
提前谢谢

检查服务器故障线程。这是一个相反的问题(将www重定向到非www),但它可以很容易地进行调整,以完成您需要交换的
server\u name
指令。