Cara Website di Redirect ke Halaman Maintenance dengan Htaccess

Anda sedang mengerjakan pembuatan website, bagaimana caranya agar pengunjung website di redirect ke halaman maintenance secara otomatis? karena anda tidak ingin proses pengerjaan tersebut terlihat oleh pengunjung secara umum dan dapat menurunkan kredibilitas website anda.

Nah caranya anda dapat menggunakan sistem redirect menggunakan .htaccess. Perhatikan contoh berikut ini

# MAINTENANCE-PAGE REDIRECT
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^131\.236\.849\.000
RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC]
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC]
RewriteRule .* /maintenance.html [R=302,L]
</IfModule>

Pertama hal yang harus anda lakukan sebelum membuat script diatas adalah membuat halaman maintenance.html caranya sebagai berikut :

1. Login ke akun hosting anda
2. Masuk ke File manager -> public_html kemudian buatlah 1 file bernama maintenance.html dan isi dengan informasi yang anda inginkan.

Setelah anda membuat file maintenance.html langkah selanjutnya adalah membuat file .htaccess yang berfungsi untuk meredirect semua pengunjung ke halaman maintenance.html berdasarkan alamat ip address kecuali kunjungan dari ip address anda. Berikut ini yang harus anda lakukan :

1. Cek ip publik internet yang sedang anda gunakan menggunakan tools www.myipaddress.com
2. Buatlah file .htaccess di folder public_html dan isikan dengan script htaccess diatas, tapi tolong di ingat nilai ip address !^131\.236\.849\.000 ubahlah dengan nilai ip address internet anda yang anda dapatkan dari www.myipaddress.com
3. Selesai

Sekarang waktunya melakukan test, Silahkan coba anda akses website melalui web proxy seperti http://hidemyass.com dan anda akan langsung di redirect ke halaman maintenance kemudian coba akses langsung tanpa proxy. Bagaimana hasilnya? harusnya anda dapat mengakses website tersebut dengan tampilan halaman website sebenarnya.

Redirect ke Halaman Maintenance dengan Multi IP

Contoh sebelumnya hanya 1 ip address yang dapat mengakses website sebenarnya, tapi bagaimana jika ingin diakses oleh beberapa ipaddress? maka berikut ini adalah contoh kodenya

# MAINTENANCE-PAGE REDIRECT
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000
RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000
RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000
RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC]
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC]
RewriteRule .* /maintenance.html [R=302,L]
</IfModule>

Perhatikan pada bagian RewriteCond %{REMOTE_ADDR}terdapat beberapa ip address, nah pada bagian tersebut anda dapat memasukkan beberapa ip address yang anda perbolehkan untuk mengakses website sebenarnya. Perhatikan pula kode dibawah ini

<Limit GET POST PUT>
Order Deny,Allow
Deny from all
Allow from 123.456.789.000
Allow from 123.456.789.000
</Limit>
ErrorDocument 403 /maintenance.html
<Files maintenance.html>
Order Allow,Deny
Allow from all
</Files>

Kode diatas ini sama seperti kode htaccess sebelumnya, anda bisa memilih ingin menggunakan kode yang sebelumnya atau yang diatas ini.