Fernando
Fernando

Reputation: 11

Redirect without www to www does not work for a URL

I'm having problems with the redirection of only one urls. And I do not know why it is the only URL that is not obeying the redirect command.

I want all urls to open with www.

Platform:

Note: I have already done all these procedures:https://easyengine.io/tutorials/nginx/www-non-www-redirection/

Thanks for any help!

https://www.example.org/ Redirecting to www (yes)
http://www.example.org/ Redirecting to www (yes)
https://example.org/ Redirecting to www (no) This is the problem url
http://example.org/ Redirecting to www (yes)

BLOCK NAME SERVER

server {
    server_name www.example.org example.org;

    access_log /var/log/nginx/example.org.access.log rt_cache;
    error_log /var/log/nginx/example.org.error.log;

    root /var/www/example.org/htdocs;

    index index.php index.html index.htm;

    include common/php.conf;
    include common/wpcommon.conf;
    include common/locations.conf;
    include /var/www/example.org/conf/nginx/*.conf;

}

FORCE SSL

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

TEST

    ~# nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful

TEST REDIRECT URL

~# curl -I https://example.org
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 23 Aug 2017 19:45:46 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
Set-Cookie: PHPSESSID=qg3bp00ofo92bsgob5flr4co26; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Link: <https://www.example.org/wp-json/>; rel="https://api.w.org/"
Link: <https://www.example.org/>; rel=shortlink
X-Powered-By: EasyEngine 3.7.4

2º TEST REDIRECT URL

~# curl -I http://example.org
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Wed, 23 Aug 2017 20:05:56 GMT
Content-Type: text/html
Content-Length: 178
Connection: keep-alive
Location: https://www.example.org/
X-Powered-By: EasyEngine 3.7.4

Upvotes: 0

Views: 214

Answers (1)

Tarun Lalwani
Tarun Lalwani

Reputation: 146630

Remove chefclub.com.br from your BLOCK NAME SERVER block and add a new server block

server {
    listen 443 ssl;
    server_name chefclub.com.br;
    include yoursslcertificate.conf;
    return 301 https://www.chefclub.com.br$request_uri;
}

Like you listen for port 80 to redirect all traffic to the www one, you also want to listen to non-www, port 443 and then send them to www

Upvotes: 1

Related Questions