Memahami Cara Kerja dan Fungsi File HTACCESS Website
File htaccess biasanya sangat umum dijumpai pada sebuah website yang menggunakan Apache sebagai servernya, file tersebut merupakan konfigurasi yang tersedia pada sebuah web server Apache. Dengan menggunakan file htaccess kita dapat melakukan modifikasi terhadap setingan default dari Apache, karena memang sekarang ini kebanyakan web hosting di internet menggunakan apache sebagai web servernya. Sehingga sangat penting sekali bagi seorang web master atau pengelola Aplikasi berbasis web untuk belajar tentang penggunaan file htaccess
File .htaccess ini berbentuk format text ASCII yang umumnya akan diletakan pada sebuah direktori atau root direktori sebuah website. File htaccess ini memang diharuskan dalam bentuk format ASCII bukan dalam format binary. Ketika diterapkan pada sebuah web hosting permission atau atribut file htaccess harus diset kedalam mode 644 (rw-r-r), hal terseut dilakukan agar server dapat mengakses dan membaca file namun mencegah user untuk dapat mengakses htaccess secara langsyng dari browser mereka.
Dalam sebuah website atau direktori web biasanya kita hanya cukup membutuhkan satu buah file htaccess untuk mengubah konfigurasi default dari server Apache
Cara Kerja File Htaccess
Sebuah website yang menggunakan Web Server Apache akan memeriksa apakah terdapat file htaccess didalamnya atau tidak, jika terdapat sebuah file htaccess yang didalamnya sudah diseting kode – kode sesuia penulisan htaccess maka server akan menjalankan perintah – perintah sesuai dengan konfigurasi ataupun script yang tertulis pada file htaccess
Fungsi File htaccess
File htaccess memiliki banyak fungsi seperti salah satu contohnya dengan file htaccess kita dapat mengubah file dengan ektensi .php diakses tanpa harus menyertakan ektensinya seperti misal tadinya index.php maka bila diatur dari file htaccess memungkinkan kita mengubah nama untuk akses filenya menjadi index atau menggunakan nama lainnya misal home tanpa menyertakan ekstensi file. Selain itu file htaccess ini bisa juga digunakan untuk mencegah direktori listing, membuat pesan kesalahan error sendiri dll, berikut ini adalah fungsi dari file htaccess :
1. Membuat Halaman Error/Kesalahan sendiri
Secara default jika kita tidak menggunakan htaccess, maka kalau ada kesalahan atau error 404 (file tidak ditemukan) apache akan memberi tahu user dengan menampilkan pesan error seperti berikut
Jika anda menambahkan file htaccess, anda bisa membuat kostum pesan kesalahan sendiri dan yang diarahkan ke halaman tertentu yang sudah didesain untuk menampilkan kesalahan atau halaman tidak ditemukan
Secara default nanti konfigurasi atau penulisan script pada htaccess akan ditulis seperti berikut :
ErrorDocument kode_error /halamanerror.php atau juga bisa ditulis
ErrorDocument kode_error http://www.website.com/halamanerorr.php
Contoh Penggunaan
Jika misalnya Anda ingin menampilkan pesan kesalahan file tidak ditemukan pada website Anda maka pada file htaccess Anda bisa menulis baris berikut
ErrorDocument 404 /halamanerror.php atau bisa juga seperti ini
ErrorDocument 404 http://www.website.com/halamanerror.php
Jika misal halaman atau letak file untuk menampilkan pesan kesalahan terletakan pada folder atau direktori yang berbeda maka nanti Anda cukup tambahkan struktur direktorinya.
Contoh :
ErrorDocument 404 /error/halamanerror.php atau bisa juga seperti ini
ErrorDocument 404 http://www.website.com/error/halamanerror.php
Berikut adalah pesan kesalahan atau kode error yang sering terjadi:
401 – Authorization Required
400 – Bad request
403 – Forbidden
500 – Internal Server Error
404 – Wrong page
Nantinya Anda hanya perlu menyiapkan file php atau html untuk menampilkan pesan kesalahan dari masing – masing kode pesan kesalahan diatas. Selanjtunya pada htaccess, arahkan setiap kesalahan pada masing – masing file yang sesuai dengan kode pesan kesalahan
2.Memblokir alamat IP tertentu,
Dengan menggunakan file htaccess kita juga dapat memblokir alamat ip tertentu yang mencoba mengakses website kita, contoh :
Order Deny,Allow
allow from all
deny from 192.168.2.1
Kode diatas digunakan untuk mencegah alamat ip 192.168.2.1 untuk mengakses website kita, sedangkan IP address selain itu diperbolehkan untuk mengaksesnya
Senadianya bila Anda ingin memblokir alamat IP Adress yang memeliki rentang dari sekian sampai dengan sekian maka Anda perlu menambahkan kode berikut:
deny from 192.168.11.
maksudnya adalah alamat IP dari 192.168.11.0-10 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 .domain.com
Selain itu kita dapat melakukan redirek halaman ketika kita akan melakukan perbaikan pada website atau blog kita, dan agar pengunjung langsung menuju ke halaman yang telah kita tentukan maka kita perlu menambahkan kode berikut ini:
order deny,allow
deny from all
allow from 192.168.1.1
ErrorDocument 403 /istirahat.html
<Files istirahat.html>
allow from all
</Files>
Maka ketika pengunjung lain yang datang akan langsung melihat halaman istirahat.html sedangkan alamat IP 192.168.1.1 (misalnya alamat IP punya kita) dapat mengakses website dengan normal (bukan halaman istirahat.html).
3. Proteksi Folder/halaman login berdasarkan IP
Bila misal kita memiliki sebuah halaman login yang hanya boleh diakses oleh ip kita sendiri maka kita bisa menambahakah kode berikut :
Order Deny,Allow
Deny from all
Allow from 192.168.1.1
Maksud dari allow kode diatas adalah akses halaman atau folder hanya diperbolehkan untuk alamat ip 192.168.1.1
Metode ini hanya dapat berjalan apabila anda memiliki account hosting dengan static IP address sendiri. Siapa saja yang berusaha mengunjungi direktori yang sudah di lindungi akan mendapatkan pesan kesalahan 403 Forbidden error.
4. Canonicalization
File .htaccess yang paling umum adalah mengetahui apakah halaman home website Anda memiliki masalah canonicalization atau tidak. Canonicalization adalah satu website yang halaman home-nya memiliki format URL berbeda, seperti contoh: www.namadomain.com, namadomain.com, www.namadomain.com/index.html, namadomain.com/index.html.
Namun canonicalization tidak baik untuk sistem SEO, karena trafik menuju website dihitung sebagai URL yang berbeda, meskipun isinya sama. Anda bisa mengatasi Canonicalization dengan menambah script pada file .htaccess Anda, script tersebut akan membuat berbagai format URL Anda menuju ke www.domainAnda.com:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^namadomain.com
RewriteRule (.*) http://www.domainAnda.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://www.domainAnda.com/ [R=301,L]
5. Menonaktifkan direktori listing (browsing direktori)
Sebuah direktori website yang tidak dilengkapi dengan file index, maka file – file yang terdapat didalamnya akan dengan mudah dilisting, user dapat melakukan browsing direktori atau file – file yang terdapat didalamnya, hal tersebut cukup risih dan kurang profesional bagi sebuah website. Untuk mencegah browsing atau listing direktori website, Anda bisa menambahkan baris berikut pada file htaccess
Options –Indexes atau
Options All –Indexes
Bila suatu saat Anda menginginkan untuk dapat browsing direktori dari browser, Anda bisa mengubah file htaccess menjadi seperti berikut
Options +Indexes
Baca juga : Mencegah Browsing Directory Pada Website Menggunakan File Index HTML
6. Mencegah Hot Linking dan Bandwidth Leeching
Apabila website berisi gambar-gambar dan website lain melakukan link ke gambar kita untuk ditampilkan di website mereka, maka bandwidth yang kita miliki akan berkurang. Untuk mencegah hal tersebut, dapat menggunakan perintah:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domainAnda/.*$ [NC]
RewriteRule .(gif|jpg)$ – [F]
Perintah tersebut akan membuat direktori image hanya bisa diakses jika user sedang mengakses website Anda.
7. Mencegah Akses Terhadap File .htaccess
untuk mencegah pengunjung melihat file .htaccess kita, bisa menggunakan perintah dibawah ini pada file .htaccess.
<Files .htaccess>
order allow,deny
deny from all
</Files>
8. Redirect Halaman
File .htacces juga dapat difungsikan untuk melakukan redirect sebuah web atau sebuah halaman atau file html yang terdapat pada sebuah web menuju halaman tujuan yang sudah ditentukan. Hal ini biasa dilakukan ketika sedang dilakukan perawatan website oleh pengelola website.
Contohnya:
Redirect /home/html/web/index.html http://namadomain/home.html
Redirect permanent /olddirectory http://namadomain/newdirectory/
- pada baris pertama adalah perintah untuk redirect file index.html yang terdapat pada document root (/home/html/web) menjadi home.html
- pada baris kedua adalah perintah untuk redirect directory lama pada web anda diarahkan ke directory web yang baru.
Contoh lainnya :
Misalnya kita membuat ulang seluruh website, lalu me-rename nama halaman atau direktori. Maka pengunjung halaman lama akan mendapat Error 404 File Not Found. Masalah tersebut dapat diatasi dengan melakukan redirect dari halaman lama ke halaman yang baru. Contohnya jika nama halaman lama adalah lawas.php dan nama halaman baru adalah anyar.php. Maka Anda bisa menambah sebaris kode berikut:
Redirect 301 /lawas.php http://www.domain.com/anyar.php atau
Redirect permanent /lawas.php http://www.domain.com/anyar.php
Sedangkan jika yang direname adalah nama direktorei, maka perintahnya adalah:
Redirect 301 /olddirectory http://www.domain.com/newdirektori/ atau
Redirect permanent /olddirectory http://www.domain.com/newdirektori/
Sehingga setiap pengunjung yang mengetikkan url seperti ini, misalnya: http://www.domain.com/download maka akan timbul pesan error “404″ atau langsung me-redirect pada halaman lain sesuai dengan pengaturan yang kita lakukan.
Kesimpulan
Bila disimpulkan secara sederhana maka Apache memiliki fungsi sebagai berikut :
- Mencegah pengunjung melakukan browsing direktori
- Me-redirect pengunjung dari satu halaman ke halaman lain
- Memberi proteksi password pada direktori
- Mengubah default halaman index pada folder tertentu
- Mencegah hot-linking of images dari website, dll,
Masih ada beberapa fungsi lainnya yang belum bisa Saya jelaskan disini, namun dapat disimpulkan bahwa keberadaan file htaccess dalam sebuah website yang ditanam didalam sebuah web hosting dengan web server apache sangatlah penting, selain untuk sebuah keamanan file htaccess ini juga akan menjadi salah satu penentu atau faktor SEO dari website yang kita kelola.
Sip kang. Saya baru memahami dengan benar fungsi dari htaccess ini, karena sempat saya coba bikin web gratis dan akhirnya terhenti pengerjaanya karena pusing dengan html dan koding lainnya. hehe..
ReplyDeletementang-mentang udah jadi sarjana, artikelnya bikin mupeng banget ih....segala Cara Kerja dan Fungsi File HTACCESS Website, kalau udah paham bisa jadi duit nggak sih mang?
ReplyDeletelieur saya bacanya