Berbagai contoh penggunaan htaccess

Memblokir IP tertentu

deny from 1.2.3.4
deny from 1.2.5.

Memblokir file berakhiran tertentu

File tertentu kadang berisi informasi sensitif seperti password, dll yang perlu kita blokir dari pengunjung. Tentu saja alternatif lainnya adalah jangan menaruh file itu di bawah Docroot 🙂

<Files *.conf>
  deny from all
</Files>

Memblokir browser (user agent) tertentu

Kadang-kadang ada sebuah bot atau penyerang tertentu yang dapat diidentifikasi User-Agent-nya, dan dapat kita blokir. Untuk melihat User-Agent pengakses, bisa melihat dari log mentah.

Misalnya kita ingin memblokir crawler Google dan Yahoo! (Slurp). Di .htaccess, tambahkan:

SetEnvIf User-Agent "(googlebot|Slurp)" crawler
deny from env=crawler

‘crawler’ dapat diganti kata lain yang sesuai. Anda dapat menambahkan baris-baris User-Agent berikutnya, atau menambahkan kata kunci di regex User-Agent yang sama.

Mengganti default halaman directory

DirectoryIndex awal.html index.html index.php

Command di atas berguna untuk memberitahu pilihan nama file yang akan dipilih oleh webserver Apache jika sebuah URL diakses tanpa akhiran nama file (mis: http://tokoku.com/ atauhttp://tokoku.com/subdir/). File yang pertama dibuka pada contoh di atas adalah awal.html, dan jika tidak ada maka akan mencari index.html, dan seterusnya.

Jika semua tidak ada, barulah autoindex ditampilkan.

Redirect ke URL

Berguna untuk “melemparkan” pengunjung ke halaman atau website lain.

Redirect / http://sitetujuan

Command diatas akan mengarahkan URL yang kita akses ke URL site tujuan.

Redirect ke www

Berguna bila Anda ingin agar saat user mengakses domain Anda tanpa www langsung dialihkan ke www. Misal, tokoku.com maka akan dialihkan ke www.tokoku.com

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^tokoku\.com$ [NC]
RewriteRule ^(.*) http://www.tokoku.com/$1 [L,R=301]

PERHATIAN: Bila Anda sudah memiliki file .htaccess dengan konfigurasi yang lain maka Anda cukup masukkan baris ke-2 dan ke-3 di bawah bagaian RewriteEngine on

Password folder

Silahkan buat .htaccess di direktori yang ingin diprotek. Kalau ingin memprotek dari http://SITENAME/ (dari halaman depan), maka taruh file .htaccess di /s/SITENAME/www/. Isi file ini sbb:

AuthName "sembarang nama, sebagai contoh: area terlarang!"
AuthType basic
AuthUserFile /s/SITENAME/www/.htpasswd
require valid-user

(tentu saja SITENAME diganti dengan nama situs yang sebetulnya). Setelah itu, buatlah .htpasswd dari shell dengan perintah:

htpasswd -c /s/SITENAME/www/.htpasswd NAMAUSERWEB

di mana NAMAUSERWEB diganti yang sebenarnya, mis: snoopy. Lalu akan ditanya password. Lalu coba sekarang refresh http://SITENAME/ maka akan muncul kotak dialog password.

Menyembunyikan Isi Direktori

Jika ingin isi suatu direktori tidak ingin ditampilkan tambahkan baris di .htaccess

IndexIgnore *

Jika ingin menyembunyikan file tertentu saja, misal header.html dan readme.html (pisahkan tiap nama file dengan spasi).

IndexIgnore header.html readme.html

Resita has written 702 articles