Fungsi dari .htaccess - File .htaccess adalah sebuah file text sederhana yang menggunakan format ASCII. Kegunaanannya sendiri, kita dapat menggunakan file .htaccess untuk mengganti beberapa konfigurasi agar mengarahkan ke web server Apache. File .htaccess ini dapat ditaruh dimapun di folder website atau cPanel Anda. Ada beberapa hal yang dapat dilakukan dengan .htaccess, diantara yaitu:
- Mencegah pengunjung melakukan browsing direktori, contoh pengunjung dapat mengakses directory folder Themes yang ada di cPanel
- Me-redirect pengunjung dari satu halaman ke halaman lain
- Memberi proteksi password pada direktori tertentu
- Mengubah default halaman index pada folder tertentu
- Mencegah hot-linking of images dari website
Ada beberapa hal yang dapat dilakukan dengan file .htaccess ini, antara sebagai berikut:
1 Membuat halaman pesan kesalahan sendiri
Dengan membuat atau merubah file .htaccess, anda dapat merubah pesan pada halaman kesalahan yang digunakan untuk website anda dan bisa tidak menggunakan settingan default lagi yang dari server. Dengan ini, anda dapat membuat website anda terlihat lebih profesional dan bagus dalam menangani kesalahan yang terjadi, anda juga dapat mengetahui letak kesalahan pada script yang sudah dibuat.Anda dapat menggunakan pesan kesalahan anda sendiri selama anda mengetahui kode yang digunakan (seperti 404 untuk halaman tidak dapat di temukan/page not found) dengan menambahkan perintah di bawah ini ke dalam file .htaccess anda:
ErrorDocument kode /file.html atau
ErrorDocument kode http://www.namadomain.com/file.php
Contoh: jika anda mempunyai file notfound.html di dalam root direktori dari website anda dan ingin menggunakannya untuk 404, anda dapat menggunakan baris di bawah ini :
ErrorDocument 404 /notfound.html atau
ErrorDocument 404 http://www.namadomain.com/notfound.php
Jika file tersebut tidak berada dalam root direktori dari website anda, anda hanya perlu menambahkan struktur direktori kedalamnya, contoh :
ErrorDocument 404 /error/notfound.html
Berikut adalah pesan kesalahan yang sering terjadi:
-
- 401 – Authorization Required
- 400 – Bad request
- 403 – Forbidden
- 500 – Internal Server Error
- 404 – Wrong page
2. Bagaimana membatasi akses ke direktori berdasarkan IP address dengan menggunakan .htaccess file ?
Folder-folder yang selain terletak di public_html, dapat dilindungi dengan cara yang sama. Cara berikut hanya dapat berjalan jika anda memiliki Hosting sendiri dengan static IP address. Siapapun yang mencoba untuk mengunjungi direktori yang sudah di lindungi, akan mendapatkan pesan kesalahan 403 Forbidden error. Langkah-langkah untuk membuatnya :
- Di direktori yang ingin anda lindungi buat atau buka .htaccess file.
- Taruh kode di bawah ini dan ganti 192.168.0.1 yang ada di dalam contoh ini dengan IP Address yang ingin anda ijinkan.
Order Deny,Allow
Deny from all
Allow from 192.168.1.1
- Anda dapat memasukkan sebagian dari IP Address, seperti, 192.168.1
- Anda dapat menambahkan IP Address lainnya dengan memisahkannya dengan tanda koma, seperti ini : 168.1.1, 192.168.1. 5, 192.168.1.10
- Simpan file .htaccess Anda
3. Memblokir alamat IP tertentu,
Jika anda ingin memblokir suatu IP, karena alasan seperti spam,penipuan,mencoba hack dll, Anda bisa menggunakan kode sebagai berikut:
Order Deny, Allow
allow from all
deny from 111.222.111.000
Maksud baris di atas adalah semua alamat IP akan diperbolehkan mengakses website kita kecuali alamat IP 111.222.111.000, sedangkan bila kita ingin memblokir alamat IP yang memeliki rentang dari sekian sampai dengan sekian maka kita perlu menambahkan kode:
deny from 111.222.111.
maksudnya adalah alamat IP dari 111.222.111.0-100 akan diblokir. Pengaturan yang kita lakukan ini juga akan terjadi seperti kita melakukannya di control panel (IP deny manager). Jika kita ingin memblokir berdasarkan alamat website, kita perlu menambahkan pada baris berikutnya sesuai dengan nama website yang akan diblokir dengan didahului tanda titik. contohnya:
deny from .namadomain.com
4. Redirect ke halaman atau situs tertentu
Jika anda ingin meredirect situs anda ke halaman/situs lain, anda dapat menggunakan perintah-perintah di bawah ini untuk meredirect situs atau halaman tertentu website anda:
- Mengalihkan url situs utama ke url situs yang lain, contoh: “domainanda.com” diarahkan ke “domainanda.com“:
# Perintah ini berfungsi untuk mengalihkan keseluruhan website ke domain yang lain
Redirect 301 / http://domainanda.com/
- Mengalihkan (redirect) file “index.html” ke folder / sub folder tertentu:
# Perintah ini berfungsi untuk mengalihkan halaman utama index.html ke folder atau subfolder tertentu
Redirect /index.html http://domainanda.com
/folder-baru/
- Mengalihkan (redirect) file lama ke file baru (direktori / folder yang berbeda):
# Perintah ini berfungsi untuk mengalihkan folder lama ke folder yang baru
Redirect /direktorilama/filelama.html http://domainanda.com
/direktoribaru/filebaru.html
- Mengalihkan (redirect) index situs ke index halaman tertentu:
# Perintah ini berfungsi untuk menentukan index halaman tertentu
DirectoryIndex index.php
- Redirect user untuk mengakses situs tanpa menggunakan prefix “www.”:
# Redirect semua visitor untuk akses situs tanpa menggunakan prefix www.,
# (http://www.domainanda.com/... akan dialihkan ke http://domainanda.com/...)
# penerapannya adalah melalui cara berikut ini:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.domainanda\.com$ [NC]
RewriteRule ^(.*)$ http://domainanda.com
/$1 [L,R=301]
- Redirect user untuk mengakses situs menggunakan prefix “www.”:
# Redirect semua visitor untuk akses situs dengan menggunakan prefix www.,
# (http://domainanda.com/... akan dialihkan ke http://www.domainanda.com/...)
# penerapannya adalah melalui cara berikut ini:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.domainanda\.com$ [NC]
RewriteRule ^(.*)$ http://www.domainanda.com
/$1 [L,R=301]
- Redirect user situs ke versi aman domain anda (akses ke SSL):
# Cara paling mudah untuk redirect visitor selalu akses secure connection (https://) dapat dilakukan dengan cara di bawah ini:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.domainanda.com
/$1 [R,L]
- Redirect user akses prefix “www.” ke “http://” dan “https://”:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} !^www\.domainanda\.com$ [NC]
RewriteRule ^(.*)$ http://www.domainanda.com/$1 [L,R=301]
RewriteCond %{SERVER_PORT} 443
RewriteCond %{HTTP_HOST} !^www\.domainanda\.com$ [NC]
RewriteRule ^(.*)$ https://www.domainanda.com
/$1 [L,R=301]
- Redirect visitor ke “https://” untuk folder (direktori) tertentu:
# Jika anda menginginkan https diterapkan pada folder tertentu gunakan perintah berikut ini:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} foldersaya
RewriteRule ^(.*)$ https://www.domainanda.com
/foldersaya/$1 [R,L]
Catatan: Alasan mengapa anda harus menyimpan file tersebut dengan nama “htaccess.txt” adalah karena sebagian besar sistem operasi dan program FTP secara default tidak dapat mengenali (membaca) file “.htaccess“. Setelah file “htaccess.txt” berhasil diupload ke webserver, rename file “htaccess.txt” menjadi “.htaccess“.
Setelah selesai & semua command (perintah) sudah ditulis dengan benar, upload ke webserver anda. Jangan lupa rename file “htaccess.txt” menjadi “.htaccess“.
Agar website anda aman, Rekomendasi menggunakan/membeli code atau script yang orisinil dari anda, agar memperkecil kemungkinan website anda di retas. Demikian artikel Fungsi dari .htaccess , dan pastikan untuk penambahan kode sudah benar :). Semoga artikel Fungsi dari .htaccess dapat membantu anda