DANNY:
Ada bagian yang kelihatannya sepele tapi banyak kegunaannya untuk keberlangsungan website Anda. Yaitu sebuah file yang bernama .htaccess.
File .htaccess adalah sebuah file teks ASCII sederhana. Anda bisa membuat atau mengedit file ini di Text Editor (Notepad) dan kemudian mengunggahnya ke direktori yang ingin anda setting.
Perintah-perintah di dalam file .htaccess mempengaruhi direktori tempatnya berada dan semua subdirektorinya. Bila anda meletakkan file .htaccess di public_html, maka hal tersebut akan mempengaruhi semua website anda.
1. Mengarahkan akses namadomain tanpa WWW ke WWW
Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^domainanda.com [nc]
rewriterule ^(.*)$
http://www.domainanda.com/$1 [r=301,nc]
2. Mencegah orang lain melihat htaccess dan file lainnya
order allow,deny
deny from all
Jika anda mau mencegah pengaksesan file lain, ganti nama file .htaccess dengan nama file yang lain.
3. Mengubah Pesan Error
Jika anda ingin mengubah halaman error server, anda bisa menggunakan .htaccess untuk mendefinisikan pesan error anda sendiri. Contoh syntax ini adalah:
ErrorDocument 500 /error.html
Isi error.html dengan halaman yang berisikan ERROR.
4. Blok IP tertentu atau pengunjung yang diarahkan dari web lain untuk mengakses web Anda
Jika anda ingin mem-blok access untuk beberapa individu dan anda mengetahui IP / domain name yang digunakan, tambahkan baris berikut :
order deny,allow
deny from 123.456.789.000
deny from 456.78.90.
deny from .capekdeh.com
allow from all
Pada contoh di atas, user dg IP 123.456.789.000 akan diblok. Semua user antara 456.78.90.000 sampai 456.78.90.999 akan diblok. Dan semua user yang terhubung dari capekdeh.com akan diblok. Jika mereka mencoba mengakses situs Anda, maka akan tampil error 403 Forbidden (“You do not have permission to access this site”).
5. Mengarahkan pengunjung ke halaman baru atau direktori baru
Misalnya bila halaman lama Anda adalah halamanlama.html dan halaman baru adalah halamanbaru.html, maka perintahnya adalah:
Redirect permanent /halamanlama.html
http://www.domainanda.com/halamanbaru.html
Jika anda mengubah nama direktori, maka perintahnya adalah:
Redirect permanent /direktorilama
http://www.domainanda.com/domainbaru/
Perhatikan bahwa nama direktori yang lama ditulis dengan “relative path”, sementara yang baru ditulis dengan “URL absolut” (dengan tanda “/”;)
6. 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\.)?domainanda.com/.*$ [NC]
RewriteRule \.(gif|jpg|png)$ – [F]
Perintah tersebut akan membuat direktori image hanya bisa diakses bila user sedang mengakses
www.domainanda.com
Anda jugabisa membuat sebuah gambar bila direktori image Anda dilink. Contohnya image jangandicuri.gif yang bertuliskan: “Mencuri membuat Anda sakit … kunjungi
http://domainanda.com 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.domainanda.com/jangandicuri.gif [R,L]
7. 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.
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
8. Melindungi WP-Config.php
Melindungi file wp-config.php yang berisi informasi nama database, username database, dan password database anda.
# protect wpconfig.php
<files wp-config.php>
order allow,deny
deny from all
</files>
sumber
DANNY:
Apa itu file .htaccess ?
File .htaccess adalah file konfigurasi yang disediakan oleh web server Apache, yang biasanya digunakan untuk mengubah settingan default dari Apache. Kita ketahui bahwa sebagian besar hosting web di internet menggunakan Apache sebagai servernya sehingga bagi para pengelola web / webmaster sedikit banyak harus belajar tentang .htaccess agar kita bisa mengubah settingan default dari server.
File .htaccess merupakan file teks ASCII sederhana yang biasanya diletakkan dalam root direktori. File ini diharuskan dalam format ASCII dan bukan binary dan untuk file permission (atribut file) pada server hosting harus di set 644 (rw-r-r). Hal tersebut dimaksudkan agar server dapat mengakses file .htaccess, tapi mencegah user untuk mengakses file .htaccess dari browser mereka. File .htaccess yang diletakkan dalam root direktori dapat digunakan untuk mengubah konfigurasi dari subdirektori-subdirektori yang ada didalamnya, sehingga dalam satu website biasanya kita cukup untuk mempunyai 1 file .htaccess saja yang diletakkan dalam root direktori.
Kode perintah dalam file .htaccess harus ditempatkan dalam satu baris, jadi apabila kita membuat file .htaccess dengan menggunakan text editor seperti notepad maka kita harus mendisable fungsi word wrap (memotong baris) terlebih dahulu.
Kegunaan File .htaccess
File .htaccess dapat digunakan antara lain untuk :
Customize Error Message
artinya kita dapat mengubah halaman error pada server, dengan mendefinisikan sesuai dengan keinginan kita sendiri.
Override SSI Settings
Secara default, hanya halaman web yang mempunyai extensi .shtml yang bisa menjalankan server-side termasuk SSI di server. Dengan menggunakan .htaccess kita dapat mengubah setting default tersebut agar SSI bisa bekerja dengan format HTML.
Untuk mengubah settingan tersebut, kita dapat menambahkan kode berikut di file .htaccess
AddType text/html .html
AddHandler server-parsed .html
Jika kita menginginkan halaman yang berekstensi .html dan .htm untuk dapat menjalankan SSI, maka file .htaccess dapat ditambahkan kode berikut
AddType text/html .html
AddHandler server-parsed .html
AddHandler server-parsed .htm
Change Default Home Page
artinya bahwa file .htaccess dapat digunakan untuk mengubah nama default halaman depan web. Agar user bisa mengakses website kita hanya dengan nama domain saja (
http://www.nama_web.com) tanpa harus menulis nama file secara jelas (http:www.nama_web.com/file.html), kita harus mempunyai file index di root direktori. Nama file yang bisa diterima antara lain index.html, index.htm, index.cgi, index.php dll. Pastikan bahwa file tsb bernama index.*
Ada tingkatan dalam pemberian nama tersebut. Jika kita punya index.cgi & index.html di root direktori maka server akan menampilkan index.cgi karena .cgi memiliki tingkatan yang lebih tinggi daripada .html
Dengan .htaccess, kita bisa mendefinisikan file index tambahan atau bisa juga mengubah urutan tingkatannya. Untuk mendefinisikan halamandepan.html sebagai halaman index, kita dapat menambahkan kode berikut ke file .htaccess
DirectoryIndex halamandepan.html
Hal ini akan membuat server mencari file bernama halamandepan.html. Jika server menemukannya maka server akan menampilkannya. Tapi bila tidak, maka server 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, contohnya:
DirectoryIndex halamandepan.html index.cgi index.php index.html
Enable Directory Browsing
Untuk alasan keamanan, server Apache biasanya telah menghilangkan default setting yang memungkinkan directory indexing. Opsi inilah yang memungkinkan isi dari direktori untuk ditampilkan di browser jika direktori tersebut tidak mempunyai halaman index.
Contohnya, jika kita memasukkan sebuah UR yang tidak mempunyai halaman index seperti misalnya
http://domainanda.com/images/, maka browser akan menampilkan daftar images di dalam direktori tersebut
Block Users from Accessing Your Web Site
Jika kita menginginkan mem-blok access untuk beberapa user, dimana kita mengetahui IP / domainname yang digunakannya, kita dapat menambahkan kode berikut :
order deny,allow
deny from 123.456.789.000
deny from 456.78.90.
deny from .aol.com
allow from all
Pada contoh di atas, user dg IP 123.456.789.000 akan diblok. Semua user antara 456.78.90.000 sampai 456.78.90.999 akan diblok. Dan semua user yang berasal dari AOL.com akan diblok.