Pertanyaan mas Hartono soal redirect non-www ke www pada Nginx ini aslinya hal mudah (tinggal dibalik saja) tapi karena pakai EasyEngine yang lokasi konfigurasinya berbeda dengan standar dan ada beberapa buah juga membuatnya jadi kompleks. 😀


Catatan, sambil menuliskan caranya saya baru sadar kalau agak ngelantur ngomongin hal lainnya yang saya temukan (dan anggap jadi solusi) sambil mencari – cari jawabannya. Harap diabaikan. Hehe.
😀

Karena script EE ini ada databasenya sendiri jadi cara manual edit – edit sangat tidak disarankan. Solusi pertama adalah dengan modifikasi konfigurasi virtual host untuk website tersebut:

ee site edit nama_domain.com

Setelah itu ganti atau tambahkan isi dari baris server_name.

Tapi ini tidak meredirect trafficnya dan cara menambahkannya bisa anda mengedit file spesifiknya:

nano /etc/nginx/conf.d/force-ssl-nama_domain.com.conf

Isinya adaptasikan seperti ini:

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

Setelah itu restart Nginx:

service nginx restart

Semestinya akan sesuai permintaan. 😀

Alternatifnya menurut saya lebih mudah dibackup > dihapus > dibuat dengan format url baru. Asumsi WordPress ya dan pakai Let’s Encrypt untuk HTTPSnya.

  1. Kita buat dulu virtual hostnya dan kemudian buat copy dari seluruh file dan direktori yang ada.
    ee site create domain_baru.com -wp -letsencrypt
    cp -a /var/www/domain_lama.com/htdocs/ /var/www/domain_baru.com/htdocs/
  2. Selanjutnya kita buat backup file databasenya dan direstore ke database baru.
    mysqldump domain_lama.com > domain_lama.com.sql
    mysql domainbaru_com < domain_lama.com.sql
  3. Khusus WordPress maka silahkan disetting url barunya pakai www maupun tidak. Ini efeknya ke redirect Nginx secara otomatis.
    wp option set home https://www.domain_baru.com
    wp option set site_url https://www.domain_baru.com
  4. Opsional, bisa dihapus kalau sudah dipastikan bekerja normal.
    ee site delete domain_lama.com

Minimal downtime dan tidak edit manual.