Fungsi dan Penggunaan File HTACCESS pada Server | Selamat malam sobat, malam ini saya akan memosting
Fungsi dan Penggunaan File HTACCESS pada Server. Sebagai seorang web programmer, seringkali kita menemukan sebuah file
bernama .htaccess dalam server yang kita pakai. File tersebut tentu saja
asing bagi pemula yang baru belajar coding, karena ekstensi file yang
sering digunakan adalah
.html, .php, .aspx, .js, .css, dan lain-lain. Lalu apakah itu file .htaccess?
File
.htaccess adalah file konfigurasi yang disediakan
oleh web server Apacehe yang bertujuan untuk mengubah settingan default
Apache server itu sendiri. Sebagai pengelola web/webmaster, sudah
seharusnya kita dapat memanfaatkan fitur ini agar bisa mengubah
settingan default server tersebut. Banyak manfaat, terutama dari sisi
keamanan, yang dapat dilakukan dengan memodifikasi isi file .htaccess
tersebut.
Pada dasarnya file
.htaccess ini merupakan file teks
berformat ASCII sederhana yang biasanya diletakkan dalam root direktori.
Harus ditampilkan dalam format ASCII dan bukan binary, serta file
permission (atribut file) pada server hosting harus di set sebagai
644 (rw-r-r).
Hal ini dimaksudkan supaya server dapat mengakses file .htaccess,
tatapi mencegah user untuk mengakses file .htaccess dari browser mereka.
Untuk diketahui, bahwa file
.htaccess ini dapat
digunakan untuk melakukan konfigurasi subdirektori-subdirektori yang ada
di dalamnya, sehingga kita hanya cukup mempunyai satu file .htaccess
saja yang diletakkan pada root direktori.
Kode perintah dalam file .htaccess harus ditempatkan dalam satu baris.
Untuk itu, jika kita membuat file .htaccess menggunakan teks editor
(seperti Notepad), maka kita harus men-disable fungsi word wrap
(memotong baris) terlebih dahulu.
Beberapa contoh penggunaan File .htaccess :
1. Customize Error Message
Dengan fungsi ini kita dapat mengubah halaman error pada server, yaitu
dengan mendefinisikan sesuai dengan keinginan kita sendiri.
2. Override SSI Settings
Default nya, hanya halaman web yang berekstensu .shtml
yang daoat menjalankan server-side termasuk SSI di server. Dengan
menggunakan .htaccess kita dapat mengubah setting default tersebut agar
SSI dapat bekerja dengan format HTML. Untuk mengubah settingan tersebut,
kita dapat menambahkan kode berikut pada file .htaccess.
AddType text/html .html
AddHandler server-parsed .html
Apabila kita menginginkan halaman yang berekstensi .html dan .htm untuk
dapat menjalankan file .htaccess, maka dapat ditambahkan kode berikut :
AddType text/html .html
AddHandler server-parsed .html
AddHandler server-parsed .htm
3. Change Default Homepage
Fungsi ini digunakan untuk mengubah nama default halaman depan web.
Sebagai contohnya yaitu ketika user hanya diijinkan untuk bisa mengakses
melalui nama domain saja
(http://www.namawebkamu.com) tanpa harus menulis nama file secara jelas
(http://www.namawebkamu.com/index.html). Untuk itu, kita juga harus mempunyai file index tersebut di root direktori. Nama file yang dapat diterima antara lain yaitu
index.html, index.htm, index.cgi, index.php, dll. Pastikan saja bahwa file tersebut bernama
index.*.
Dalam pemberian nama tersebut ada tingkatan yang harus dipatuhi. Apabila
kita mempunyai index.cgi dan index.html di root direktori, maka server
akan menampilkan index.cgi karena .cgi memiliki tingkatan yang lebih
tinggi daripada .html.
Dengan .htaccess, web programmer dapat mendefinisikan file index
tambahan atau bisa juga mengubah urutan tingkatannya. Misalnya untuk
mendefinisikan depan.html sebagai halaman index, kita dapat menambahkan
kode berikut pada file .htaccess :
DirectoryIndex depan.html
Kode tersebut akan memerintahkan server untuk mencari file bernama
depan.html. Jika server menemukan file tersebut, maka server akan
menampilkan halaman yang dimaksud. Namun, apabila tidak, maka akan
menampilkan
error 404 Missing Page.
Untuk mengubah urutan tingkatan, kita dapat memasukkan perintah
DirectoryIndex dengan nama-nama file dalam satu baris. Urutan penulisan
file tersebut menentukan urutan tingkatan akses file yang dimaksud (yang
pertama ditulis akan diakses terlebih dahulu), misalnya :
DirectoryIndex depan.html, index.cgi, index.php, index.html
4. Enable Directory Browsing
Untuk alasan keamanan, server Apache biasanya telah menghilangkan
default setting yang memungkinkan directory indexing. Opsi inilah yang
memungkinkan isi direktori untuk ditampilkan ke dalam browser jika
direktori tersebut tidak mempunyai halaman index.
Misalnya apabila kita memasukkan sebuah URL yang tidak mempunyai halaman index, seperti
http://www.namadomainmu.com/images/, maka browser akan menampilkan daftar images di dalam direktori tersebut.
Jadi, apabila kita memiliki banyak file pada direktori tertentu, maka
untuk mencegah pengunjung melihat keseluruhan dari isi direktori tadi
maka kita perlu menambahkan file index.php pada setiap direktori akan
tetapi hal ini tidak mungkin dilakukan dan sebagai gantinya kita hanya
perlu menambahkan kode berikut ini:
Options All -Indexes
Sehingga setiap pengunjung yang mengetikkan url seperti ini, misalnya:
http://namadomainmu.com/images maka akan timbul pesan
error “404″ atau langsung meredirek pada halaman lain sesuai dengan pengaturan yang kita lakukan.
5. Block Users form Accessing Your Website (Memblokir alamat IP tertentu)
File .htaccess dapat digunakan untuk memblokir alamat IP tertentu ketika
mengakses ke alamat kita. Kita dapat memblok akses untuk beberapa user
sekaligus, baik melalui alamat IP maupun domain name.
Contoh kode yang dapat digunakan yaitu sbb:
order deny,allow
deny from 111.234.222.111
deny from 234.321.22.
deny from .avrakadavra.com
allow from all
Contoh di atas berarti bahwa :
- Alamat IP 111.234.222.111 akan diblok
- Semua user dengan alamat IP antara 234.321.22. hingga 234.321.22.999 akan diblok
- Semua user yang berasal dari .avrakadavra.com akan diblok.
Apabila alamat-alamat yang tidak diijinkan untuk mengakses web kita
berusaha mengakses web kita, maka akan tampil secara otomatis
error 403 Forbidden ("You do not have permission to access this site").
6. Redirect Visitors to a New Page or Directory
Fungsi ini sangat berguna ketika kita membuat ulang seluruh website
kita, me-rename halaman dan direktori, sehingga pengunjung akan menemuai
halaman lama dalam keadaan
error 404 File Not Found.
Untuk mengatasi masalah tersebut, dapat dilakukan dengan cara melakukan
redirect dari halaman lama ke halaman yang baru. Misalnya apabila
halaman lama kita adalah halamanlama.html dan halaman baru adalah
halamanbaru.html, maka perintahnya adalah:
Redirect permanent /halamanlama.html
http://www.namadomainkamu.com/halamanbaru.html
Jika kita me-rename (mengganti nama) direktori, maka perintahnya adalah:
Redirect permanent /direktorilama
http://www.namadomainkamu.com/direktoribaru
Untuk diperhatikan, bahwa nama direktori yang lama ditulis dengan relative path dan yang baru ditulis dengan absolute path.
Selain itu kita juga 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 222.222.222.222
ErrorDocument 403 /download.html
<Files download.html>
allow from all
</Files>
Ketika pengunjung lain yang datang akan langsung melihat halaman
download.html sedangkan alamat IP 222.222.222.222 (misalnya alamat IP
punya kita) dapat mengakses website dengan normal (bukan halaman
download.html).
7. Prevent Hot Linking and Bandwidth Leeching
Untuk mencegah orang lain me-link secara langsung ke direktori image kita dari website orang lain, seperti misalnya ketika ada orang mengambil gambar dari website kita, tetapi tetap menggunakan link di server host kita, maka akan merugikan kita karena dapat mengurangi bandwidth di hosting kita. Untuk mengatasi hal ini, kita dapat menambahkan kode berikut:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER}
!^http://(www\.)?namadomainmu.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ - [F]
Perintah di atas akan membuat direktori image hanya bisa diakses apaila user sedang mengakses
www.namadomainmu.com. Namun,
apabila kita masih merasa jengkel, kita juga dapat membuat sebuah image
alternatif bila direktori image di-link oleh orang lain. Misalnya kita
membuat image alternatif dengan nama noimage.gif yang bertuliskan:
"Gambar
dari web lain... kunjungi http://namadomainmu.com untuk melihat gambar
sebenarnya." Untuk itu kita dapat menambahkan kode berikut :
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER}
!^http://(www\.)?namadomainmu.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.namadomainmu.com
/noimage.gif [R,L]
8. Prevent Viewing of .htaccess or other files
Untuk mencegah user mengakses file .htaccess, maka dapat diketikkan perintah sbb:
order allow, deny
deny from all
9. Pengaturan Permalink
Agar kita dapat melakukan pengaturan pada permalink kita agar lebih SEO friendly kita dapat menambahkan kode berikut ini:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Untuk pengaturan lain seperti hot linking protection yang sangat berguna
untuk mencegah pencurian bandwidth, pengaturan password, dll Anda dapat
mengunjungi
.htaccess file generator online. Selain itu dapat juga kita lakukan melalui cpanel.
Dari beberapa kegunaan dari file
.htaccess di atas, kita dapat mengembangkannya lebih jauh lagi sesuai dengan kebutuhan.
Sekian artikel
Fungsi dan Penggunaan File HTACCESS pada Server dari saya, semoga bermanfaat.. B-)
Sumber : http://www.adityarizki.net