0

I am trying to redirect all the urls to example.com instead of www.example.com. It is working as expected when I type www.example.com and hit enter its redirecting to https: //domain.com. But when I type https: //www.example.com it is going to https: //www.example.com but I am trying to redirect it to https: //example.com. I followed some solutions to similar questions but didn't work. Following is my nginx config file.

upstream puma { server unix:///home/deploy/apps/myprod/shared/tmp/sockets/myprod-puma.sock; } server { listen 80; listen [::]:80; server_name example.com; return 301 https://$server_name$request_uri; } server { #listen 80 default_server deferred; #listen 80; listen 443 default ssl; server_name domain.com; ssl_certificate /etc/nginx/ssl/domain.com.chained.crt; ssl_certificate_key /etc/nginx/ssl/domain.key; root /home/deploy/apps/myprod/current/public; access_log /home/deploy/apps/myprod/current/log/nginx.access.log; error_log /home/deploy/apps/myprod/current/log/nginx.error.log info; #location ^~ /assets/ { #gzip_static on; #expires max; #add_header Cache-Control public; #} location ^~ /(assets|fonts|swfs|images)/ { gzip_static on; expires max; add_header Cache-Control public; } try_files $uri/index.html $uri @puma; location @puma { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://puma; } } 

Please can somebody tell what changes should I make to achieve this non www redirect

1

1 Answer 1

1

Try using this server block code:

server { listen 80; listen 443; server_name www.example.com; return 301 https://$server_name$request_uri; } 

Hope it would help.

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.