Question

Redirecting Digitalocean Wordpress site from non www to www?

Hi, I was trying to redirect the site with Rankmath. Sadly It wasn’t possible. I am using WordPress 5.8 on Ubuntu 20.04. What is the correct way to redirect?


Submit an answer
Answer a question...

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

KFSys
Site Moderator
Site Moderator badge
December 26, 2022

Hi @neverdevelopment,

Depending on your WebSerivce you have two possible ways. First, you need to find if you are using Apache or Nginx. To do that, SSH to your Droplet and type in

netstat -tulpen | grep 80

Depending on what you see, you’ll have to perform different actions.

If you are using Apache2, you’ll need to go to your parent directory(where your website is loading from) and in your .htaccess file add :

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

If you are using Nginx. Go to /etc/nginx/sites-available and open the .conf file of your website. In there you need to add the following:

HTTP Solution From the documentation, “the right way is to define a separate server for example.org”:

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

server {
    listen       80;
    server_name  www.example.com;
    ...
}

HTTPS Solution

server {
        listen 80;
        server_name www.domain.example;
        # $scheme will get the http protocol
        # and 301 is best practice for tablet, phone, desktop and seo
        return 301 $scheme://domain.example$request_uri;
}

server {
        listen 80;
        server_name domain.example;
        # here goes the rest of your config file
        # example
        location / {

            rewrite ^/cp/login?$ /cp/login.php last;
            # etc etc...

        }
}