Berikut panduan cara redirect domain dari non-www ke WWW di Apache, sebagai contoh misal user mengakses https://www.idnetter.com akan diarahkan ke https://www.idnetter.com.
Ada dua cara yaitu dengan konfigurasi virtual host dan .htaccess, yang pertama kita mulai dengan .htaccess.
Redirect non-WWW ke WWW dengan .htaccess
Buat file .htaccess jika belum ada, tambahkan kode seperti berikut di baris paling atas
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Catatan: kalau ingin diredirect ke https tinggal tambahkan huruf s contoh:
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
atau pelajari cara setting redirect ke HTTPS pada tutorial sebelumnya
Redirect domain non-WWW ke WWW melalui konfigurasi VirtualHost Apache
Di dalam konfigurasi VHost setingannya seperti ini
<VirtualHost *:80>
ServerName idnetter.com
Redirect permanent / http://www.idnetter.com/
</VirtualHost>
<VirtualHost *:80>
ServerAlias www.idnetter.com
ServerAdmin webmaster@idnetter.com
DocumentRoot /var/www/idnetter.com
<Directory "/var/www/idnetter.com">
Options FollowSymLinks
AllowOverride All
</Directory>
LogLevel warn
ErrorLog ${APACHE_LOG_DIR}/idnetter.com.error.log
CustomLog ${APACHE_LOG_DIR}/idnetter.com.access.log combined
</VirtualHost>
Untuk HTTPS – ganti nama domain dan lokasi sertifikat SSLnya ya.
<VirtualHost *:443>
ServerName idnetter.com
Redirect permanent / https://www.idnetter.com/
</VirtualHost>
<VirtualHost *:443>
ServerName www.idnetter.com
ServerAdmin webmaster@idnetter.com
DocumentRoot /var/www/idnetter.com
<Directory "/var/www/idnetter.com">
Options FollowSymLinks
AllowOverride All
</Directory>
SSLEngine on
SSLVerifyClient none
SSLCertificateFile /etc/letsencrypt/live/idnetter.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/idnetter.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/idnetter.com/fullchain.pem
LogLevel warn
ErrorLog ${APACHE_LOG_DIR}/idnetter.com.error.log
CustomLog ${APACHE_LOG_DIR}/idnetter.com.access.log combined
</VirtualHost>
Simpan, kemudian restart Apache
service apache2 restart
atau, untuk CentOS gunakan perintah ini
service httpd restart
Kalau kesulitan, Anda bisa kontak WA saya 08125008433, Jasa setup Apache server mulai dari 50.000