Untuk para webmaster, apa itu .htaccess tentu bukan sesuatu yang asing. .htaccess adalah file penting yang perlu kita pahami dalam proses pengelolaan website. File ini sangat multifungsi saat memahami proses konfigurasinya.
.htaccess bisa kita manfaatkan untuk memblokir alamat IP tertentu hingga melindungi file dan kata sandi. Di artikel kali ini, Panda akan mengulas secara lengkap tentang apa itu .htaccess dan panduan untuk menggunakan file ini.
Apa itu .htaccess?
.htaccess adalah file konfigurasi yang digunakan pada server web Apache. File ini mempunyai kemampuan untuk mengontrol konfigurasi dan aturan akses ke dalam direktori atau file pada website yang berada di server Apache.
.htaccess sendiri berasal dari kata “hypertext access”. Kata “hypertext” sendiri merujuk pada struktur website yang terdiri dari tautan antar halaman web.
File hypertext access ini adalah jenis file sederhana dalam bentuk file text dengan format ASCII. File ini bisa terletak di bagian mana saja di folder website. Penggunaan file .htaccess bisa membantu developer untuk mengontrol dan memanipulasi perilaku server Apache sesuai dengan kebutuhan situs web.
Dalam pengertian yang lebih sederhana, .htaccess adalah file konfigurasi yang digunakan untuk mengubah perilaku web server Apache. Hal ini termasuk mengubah pengaturan akses, melakukan redirect URL, mengkonfigurasi MIME types, dan banyak lagi.
File ini berfungsi sebagai pengatur akses dalam level direktori dan file tertentu di situs web. Dengan begitu, penggunaan .htaccess memungkinkan pengguna untuk menentukan batasan akses atau mengalihkan lalu lintas ke laman web tertentu.
Fungsi dan Manfaat .htaccess
Ada banyak fungsi dari file hypertext access yang sangat membantu proses pengelolaan website. Apa saja? Antara lain sebagai berikut :
1. Mengatur Akses dan Melindungi Direktori
Fungsi utama dari .htaccess adalah mengatur akses ke direktori tertentu di server web. Dengan pengaturan di file ini, pengguna bisa membuat batasan akses tertentu pada direktori dan file.
Tentunya hal ini sangat berguna untuk melindungi file sensitif dan mencegah akses tidak sah ke website.
2. Redirect URL
Redirect atau pengalihan adalah teknik untuk mengalihkan pengunjung website ke alamat URL yang berbeda dari tujuan awal. Melalui pengaturan redirection lewat .htaccess, webmaster bisa mengalihkan orang yang mengklik URL asli ke laman tujuan berbeda sesuai pengaturan redirection.
Redirect sendiri bermanfaat untuk menghindari broken link dan memperbaiki kesalahan penulisan URL.
3. Konfigurasi Custom Error Pages
File hypertext access juga bisa kita gunakan untuk mengkonfigurasi halaman kesalahan customer di website. Jika tanpa konfigurasi maka lama error akan memperlihatkan kode error saja, misalnya Error 404 atau Internal Server Error-500.
Namun dengan .htaccess, sobat Panda bisa membantu pengguna untuk memperbaiki masalah dan menampilkan pesan error yang lebih informatif pada pengunjung website.
4. Modifikasi Header & Manipulasi Rewrite Rules
Selanjutnya, .htaccess juga bisa kita gunakan untuk memodifikasi header HTTP di server web. Dengan modifikasi ini, pengguna bisa lebih meningkatkan keamanan dan kinerja situs web.
Selain itu, hypertext access juga bisa memanipulasi rewrite rules di server web yang bisa mengubah atau memanipulasi URL di situs web. Lagi- lagi, hal ini bisa user gunakan untuk meningkatkan keamanan dan kinerja situs.
Cara Membuat File .htaccess Default
Setelah mengetahui fungsi dan manfaat dari .htaccess, langkah selanjutnya adalah mengetahui cara membuat file hypertext access ini. Sebelum membuat file ini, pastikan sobat Panda membuat backup dari situs terlebih dahulu untuk keamanan.
Ada dua cara yang bisa kita gunakan untuk membuat file .htaccess baru, yaitu melalui File Manager dan FTP Klien.
1. Membuat .htaccess lewat File Manager
- Login ke cPanel hosting dan buka File Manager, lalu pilih public_html di direktori root situs.
- Klik pilihan New File atau + file di menu navigasi.
- Beri nama file tersebut .htaccess dan masukkan snippet kode berikut ini jika menggunakan WordPress.
# BEGIN WordPress
RewriteEngine On
RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
- Tekan tombol Save & Close untuk menyimpan file hypertext sobat Panda.
2. Membuat .htaccess lewat FTP Klien
Jika sobat Panda inging menggunakan FTP Client untuk membuat hypertext access, Anda bisa membuat file berisi kode snippet default di atas lewat program text editor. Selanjutnya, unggah file tersebut ke website dengan cara berikut :
- Buka FileZilla dan hubungkan ke web server.
- Setelah terhubung, bukan panel Remote Site di sisi kanan dan temukan public_html direktori root situs.
- Buka panel Local Site di sisi kiri dan akses komputer untuk mengunggah file text editor yang dibuat sebelumnya.
- Klik kanan di file tersebut, lalu pilih Upload.
- Tunggu sampai file berhasil terunggah ke direktori situs.
Cara Menggunakan .htaccess di Website
Selain membuat file hypertext dengan script default, ada beberapa script penting yang perlu Anda ketahui dan bisa terapkan untuk website.
1. Redirect ke Direktori Lain
Script ini berguna untuk mengalihkan direktori saat ada pengguna yang mengakses. Jika ada yang mengakses, pengguna akan dialihkan ke direktori atau laman yang sesuai.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^sub_directory/(.*)$ /$1 [R=301,NC,L]
</IfModule>
2. Set Local Zone
Set Local Zone adalah script yang wajib Anda tambahkan di .htaccess, terutama jika menggunakan cronjob untuk melakukan perintah. Dengan script ini, cronjob dapat mengetahui waktu server.
Script yang bisa Anda tambahkan adalah sebagai berikut :
php _value date.timezone Asia/Jakarta
Script ini menggunakan contoh zona waktu Asia/Jakarta. Sobat Panda bisa menggantinya sesuai dengan Region/City sesuai kebutuhan.
3. Disallow All Search Engine
Persis namanya, script ini bisa Anda gunakan jika tidak ingin laman ini diakses publik melalui mesin pencari. Agar tidak terindeks oleh bot crawl Google atau mesin pencari lain, Anda bisa menambahkan script sebagai berikut :
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^.*(Googlebot|Bingbot|Baiduspider).*$ [NC]
RewriteRule .* - [F,L]
4. HTTPS Redirect
Untuk menggunakan protokol HTTPS, sobat Panda perlu menginstal SSL di website. Peran HTTPS sendiri sangat penting karena menjadi jaminan keamanan transfer data pengguna dan mengoptimalkan SEO website.
Script yang bisa Anda gunakan adalah sebagai berikut :
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
5. Domain Redirect
Jika script nomer di atas digunakan untuk melakukan pengalihan protokol HTTPS, Anda bisa menggunakan script yang berbeda untuk mengalihkan pengunjung ke domain yang berbeda. Ini mungkin terjadi saat Anda mengubah nama domain atau alamat website secara permanen.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domainanda.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domainanda.com [NC]
RewriteRule ^(.*)$ http://domainbaru.com/$1 [L,R=301,NC]
Atau bisa juga menggunakan script yang lebih sederhana berikut :
Redirect 301 /home/html/web/index.html https://www.domainbaru.com/home.html
6. Menjaga Akses File .htaccess
Agar pengunjung tidak iseng melihat dan menemukan file hypertext access website, Anda bisa melindungi file .htaccess ini sendiri dengan script perintah berikut :
<Files .htaccess>
order allow,deny
deny from all
</Files>
7. Mencegah Hotlinking
Hotlinking adalah cara memberikan rujukan link secara langsung pada non-object HTML ke server lain, seperti gambar, video, dan lainnya.
Saat ada website lain yang menggunakan berbagai gambar di laman web kita sebagai hotlink mereka, hal ini bisa berdampak pada berkurangnya bandwidth kita. Agar ini tidak terjadi, ada bisa menambahkan script hotlink protection berikut ini :
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)example.com/.*$ [NC]
RewriteRule \.(gif|jpg|jpeg|bmp|zip|rar|mp3|flv|swf|xml|php|png|css|pdf)$ - [F]
Kesimpulan
Meski terlihat seperti file sederhana, sejatinya .htaccess atau hypertext access merupakan file penting untuk pemilik website di server web Apache.
File ini membantu webmaster dalam mengoptimalkan kinerja situs web dan meningkatkan keamanannya. Dengan file ini juga, developer dan administrator server web dapat mengelola dan mengatur perilaku server web Apache dengan praktis.
Sudahkah Anda memanfaatkan konfigurasi .htaccess sesuai dengan kebutuhan web Anda? Semoga bermanfaat!