File .htaccess merupakan file konfigurasi yang disediakan oleh web
server Apache, yang biasanya digunakan untuk mengubah setting default
dari Apache. Kita ketahui untuk saat ini sebagian besar hosting web di
internet menggunakan Apache sebagai servernya sehingga bagi para
pengelola web harus belajar tentang .htaccess supaya dapat melakukan
modif terhadaf settingan default dari server.
File .htaccess adalah fil text ASCII sederhana yang biasanya diletakkan
di direktori root. File ini diharuskan dalam format ASCII bukan format
binary dan untuk file permission (atribut file) pada server hosting
harus diset 644 (rw-r-r). Hal ini bertujuan agar server dapat mengakses
file .htaccess, tapi mencegah user untuk mengakses file .htaccess dari
beowser mereka. Karena file .htaccess diletakkan di direktori root maka
file ini dapat digunakan untuk mengubah konfigurasi dari
subdirektori-subdirektori yang ada di dalam direktori root. Sehingga
untuk satu website biasanya kita cukup menediakan satu file .htaccess
saja yang kita letakkan di dalam direktori root. Kode perintah yang ada
di dalam file .htaccess harus ditempatkan dalam satu baris.
Sampai disini bisa dimengerti kan..... ? Baikalah lanjut,
Mungkin anda bertanya-tanya apa yang dapat di lakukan oleh .htaccess
atau mungkin anda sudah membaca tentang hal tersebut, tapi tidak
menyadari bahwa banyak hal yang dapat anda lakukan dengan file
.htaccess. Berikut beberapa fungsi file .htaccess dan kode script yang
harus dituliskan untuk menjalankan fungsi tersebut:
1. Membuat halaman pesan kesalahan sendiri
Dengan menggunakan file .htaccess anda dapat membuat halaman pesan
kesalahan yang dapat digunakan untuk website anda sendiri dan tidak lagi
menggunakan settingan default dari server.
Dengan menggunakan halaman pesan kesalahan sendiri dapat membuat website
anda terlihat lebih profesional dalam menangani kesalahan yang terjadi
bahkan juga mengijinkan anda untuk membuat script yang dapat memberitahu
anda apabila terjadi kesalahan.
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.domain.com/file.php
Sebagai 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.domain.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
Kemudian, yang perlu anda lakukan adalah membuat file untuk menampilkan
pesan kesalahan ketika kesalahan itu terjadi dan upload file-file
tersebut, jangan lupa upload juga file .htaccess anda.
2. Bagaimana membatasi akses ke direktori berdasarkan IP address dengan menggunakan .htaccess file ?
Cara ini dapat dikatakan cara yang efektif untuk melindungi direktori
yang ada dalam sebuah domain/site. Folder-folder selain yang terletak di
dalam folder public_html juga dapat di lindungi dengan cara yang sama.
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.
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
192.168.1.1, 192.168.1. 5
Simpan file .htaccess Anda
3. Memblokir alamat IP tertentu,
Hal ini jika kita ingin agar alamat IP tertentu tidak dapat mengakses
website yang kita miliki maka kita dapat 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 .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).
4. Canonicalization
Trik htaccess paling umum adalah mengetahui apakah halaman home website
anda memiliki masalah canonicalization atau tidak. Canonicalization
adalah satu website yang halaman homenya memiliki sejumlah format URL
yang berbeda. Contohnya: http://www.domain.com, domain.com, http://www.domain.com/index.html, domain.com/index.html.
Canonicalization tidak bagus untuk SEO website anda sebab traffik menuju
halaman home dihitung sebagai URL yang berbeda, meskipun isinya sama.
Anda bisa mengatasi caninicalization dengan menambah script berikut pada
file .htaccess anda. Script berikut akan memaksa berbagai format URL
anda ke format http://www.domain.com:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com
RewriteRule (.*) http://www.domain.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://www.domain.com/ [R=301,L]
5. Mematikan dan menampilkan directory listing
Menampilkan directory listing pada website bisa jadi merupakan salah
satu masalah sekuriti yang harus diperhatikan. Sebab file-file apa saja
yang ada di website anda bisa diketahui dengan musah oleh orang lain.
Nah, sebaris kode berikut dapat mendisable directory listing pada
website anda:
Options –Indexes
Untuk mengijinkan Directory Listing anda dapat menghapus line tersebut atau mengganti tanda - dengan tanda +.
6. Menyembunyikan jenis file tertentu dari directory listing
Atau jika anda memilih untuk tetap membiarkan directory listing anda
menyala, anda bisa menyembunyikan jenis file tertentu agar disembunyikan
dari directory listing.
IndexIgnore *.gif *.zip *.txt
7. Redirect halaman atau direktori
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/
8. Mencegah eksplorasi pada direktori.
Misalnya 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://www.domain.com/download maka akan timbul pesan error “404″ atau langsung me-redirect pada halaman lain sesuai dengan pengaturan yang kita lakukan.
9. Menggunakan file selain dari index.* di website
Secara default, halaman pertama dari website anda adalah index.* file
karena file inilah yang akan pertama kali di cari oleh browser
pengunjung, begitu mereka mengunjungi website. Tetapi mungkin dari kita
ada yang berkeinginan untuk merubah websitenya untuk menggunakan nama
file lain selain index.*.
Untuk melakukan hal ini cukup mudah dengan menggunakan .htaccess file
dan perintah "Redirect 301". Redirect ini biasa digunakan untuk
mengalihkan pengunjung website lama ke website anda yang baru.
Dalam contoh ini anda akan mengalihkan ke file home.html :
Di direktori yang ingin anda ijinkan Directory Listing, buat atau buka .htaccess file.
Taruh kode di bawah ini.
Redirect 301 /index.html http://www.namadomainanda.com/home.html
Simpan .htaccess dan upload file .htaccess anda bila belum di upload.
Tes hasil kerja anda dengan mengunjungi website anda yaitu http://www.domain.com, bila sukses maka alamat yang tampil akan menjadi http://www.domain.com/home.html dan menampilkan website anda.
10. Mengalihkan Domain yang di Parking ke Domain yang lain
Mempunyai domain yang berlainan atau lebih dari satu untuk website yang
sama adalah hal yang biasa. Untuk menambahkan domain-domain tersebut ke
dalam website yang sama, banyak orang menggunakan jasa "Parked Domain",
di mana ketika seseorang mengunjungi domain tersebut akan langsung
membuka website yang sama. Namun bagaimanapun juga dari sisi search
engine optimisation, hal ini bukanlah hal terbaik yang harus di lakukan.
Dengan search engine seperti Google sebagai contoh, anda dapat
kehilangan status ranking dari website karena memiliki tampilan yang
sama untuk beberapa domain yang berbeda. Ketika Google mencari dan
melihat website anda memiliki isi yang sama dengan domain yang berbeda,
maka Google akan menghitungnya sebagai penjiplakan content atau isi
website dan otomatis akan menurunkan status ranking. Semakin banyak
Domain Parking yang dimiliki, semakin besar pengaruhnya ke ranking yang
anda miliki.
Jika anda menaruh website anda di server yang menggunakan Apache, efek
negatif dari Domain Parking dapat dihindari dengan menggunakan fungsi
mod_rewrite. Bonus dari menggunakan metode ini adalah pengalihan yang
dilakukan juga memberi tahu search engine bahwa tampilan yang sama yang
berada di domain parking telah di pindahkan ke website dan tidak
menghilang.
Ini berarti tidak akan terkena resiko kehilangan status ranking.
Untuk melakukan metode redirect ini, taruh kode di bawah ini di dalam .htaccess file Anda :
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.parkeddomain.com
RewriteRule ^(.*)$ http://maindomain.com/$1 [R=301,L]
Jika anda memiliki Domain Parking lebih dari satu atau ingin
menghilangkan "www." dari domain anda, anda hanya perlu mengulang baris
"RewriteCond" untuk setiap domain parking yang anda miliki dan tanpa
www.
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.parkeddomain1.com [OR]
RewriteCond %{HTTP_HOST} ^parkeddomain1.com [OR]
RewriteCond %{HTTP_HOST} ^www.parkeddomain2.com [OR]
RewriteCond %{HTTP_HOST} ^parkeddomain2.com
RewriteRule ^(.*)$ http://maindomain.com/$1 [R=301,L]
11. Pengaturan permalink,
Supaya dapat melakukan pengaturan pada permalink kita biar lebih SEO
friendly kita dapat menambahkan kode berikut ini di file .htaccess:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
12. Mencegah Hot Linking dan Bandwidth Leeching
Untuk mencegah orang lain melink secara langsung ke direktori image atau
file anda dari website mereka sehingga mencuri bandwidth Anda, maka
gunakan:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.com/.*$ [NC]
RewriteRule \.(gif|jpg|png)$ – [F]
Perintah tersebut akan membuat direktori image hanya bisa diakses bila user sedang mengakses http://www.domain.com.
Anda jugabisa membuat sebuah gambar bila direktori image Anda dilink.
Contohnya image jangan.gif yang bertuliskan: “Bilang dulu kepada yang
punya jika mau ngambil.... kunjungi http://www.domain.com/image/ok.gif untuk melihat gambar yang kami miliki”, maka gunakan perintah:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domainanda.com/.*$ [NC]
RewriteRule \.(gif|jpg|png)$ http://www.domain.com/image/ok.gif [R,L]
13. Melindungi file wp-comment-post.php dan wp-confiq.php
Melindungi wp-comment-post.php dari spam Walaupun ada Akismet, tapi
mungkin perlu juga Anda melindungi blog Anda dari serangan spambot yang
mencoba mengirim komentar spam langsung melalui wp-comment-post.php
tanpa mengakses blog kita. Berikut baris perintah yang perlu di sertakan
di dalam file .htaccess:
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*domain.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
Sedangkan untuk melindungi file wp-config.php yang berisi informasi nama
database, username database, dan password database, ditambahkan baris
berintah seperti di bawah ini:
# protect wpconfig.php order allow,deny deny from all
14. Mengkonversi eksekusi file HTML ke PHP
Anda memiliki website HTML statis. Namun bagaimana jika suatu ketika
anda ingin menjalankan kode PHP pada halaman HTML tersebut? Anda bisa
menambahkan sebaris kode berikut.
AddHandler application/x-httpd-php .html
15. Mengakali query string
Website lain kemungkinan ada yang memasang link yang mengarah ke website anda dengan menambahkan query string. Contohnya http://www.domain.com/index.php?source=def.com.
Query string dapat menciptakan masalah duplikasi konten pada website
yang akan merugikan usaha SEO. Untuk menanggulanginya, bisa ditambahkan
sebaris kode seperti berikut pada file .htaccess:
RewriteCond %{QUERY_STRING} ^source= RewriteRule (.*) /$1? [R=301,L]
16. Modifikasi URL dengan mod_rewrite
Jika ingin mengubah URL dinamis seperti http://www.domain.com/product.php?id=20 menjadi URL yang lebih statis & user friendly seperti http://www.domain.com/product/20. Maka bisa ditambahkan baris perintah seperti berikut ini pada file .htaccess:
RewriteEngine on
RewriteRule ^product/([^/\.]+)/?$ product.php?id=$1 [L]
17. Change Default Home Page
Maksudnya adalah file .htaccess dapat digunakan untuk mengubah nama
default halaman home / halaman depan website. Agar pengunjung dapat
mengakses website hanya dengan nama domain saja misalnya http://www.domain.com tanpa harus menuliskan nama file secara jelas seperti http://www.domain.com/file.html
, maka harus ada file index di root direktori. Nama file yang dapat
diterima antara lain index.html, index.htm, index.cgi, index.php dan
lain-lain. Pastikan bahwa file itu bernama index.*
Ada tingkatan dalam pemberian nama file tersebut. Jika kita punya file
index.cgi dan index.html di direktori root maka file yang di proses oleh
server adalah file index.cgi, karena cgi tingkatannya lebih tinggi
daripada html. Dengan file .htaccess kita dapat mendefinisikan file
index tambahan atau dapat juga mengubah urutan tingkatannya. Untuk
mendefinisikan home.html sebagai halaman index, maka dapat ditambahkan
kode perintah di dalam file .htaccess seperti berikut:
DirectoryIndex home.html
Hal ini akan memerintah server mencari file bernama home.html, jika
server menemukan maka server akan menampilkannya. Tetapi jika tidak maka
server akan menampilkan halaman error 404.
18. Override SSI Setting
Secara default hanya halaman web yang memiliki extensi .shtml yang dapat
menjalankan server-side termasuk SSI di server. Dengan menggunakan file
.htaccess kita dapat mengubah setting default tersebut supaya SSI dapat
bekerja dengan format html. Untuk mengubah settingan itu diperlukan
kode tambahan yang ditaruh di dalam file .htaccess sebagai berikut:
AddType text/html .html
AddHandler server-parsed .html
Jika kita ingin halaman yang berekstensi .htm dan .html untuk dapat
menjalankan SSI, maka file .htaccess dapat ditambahkan kode berikut ini :
AddType text/html .html
AddHandler server-parsed .html
AddHandler server-parsed .htm
19. Prevent Viewing of File .htaccess or Other File
Untuk mencegah user mengakses file .htaccess, ketikkan perintah berikut ini:
order allow, deny deny from all
www.arkaduc.net
Subscribe to:
Post Comments (Atom)
Dilarang Spam !!
EmoticonEmoticon