Konfigurasi web server terkadang perlu diubah supaya website dapat berjalan dengan lancar. Salah satu caranya adalah dengan menggunakan file httpd.conf. File ini, httpd.conf, merupakan file konfigurasi Apache Web Server. Segala konfigurasi Apache dapat diubah menggunakan file tersebut. Sayangnya tidak semua pengguna bisa mengaksesnya. Apalagi jika Anda menggunakan shared hosting.
Meskipun akses ke httpd.conf terbatas, ada cara lain untuk mengubah konfigurasi Apache Web Server, yaitu menggunakan file .htaccess. File .htaccess memungkinkan Anda untuk mengimplementasikan beberapa instruksi untuk menimpa konfigurasi httpd.conf tanpa membutuhkan akses ke file httpd.conf secara langsung.
Ada banyak konfigurasi yang dapat dilakukan menggunakan .htaccess. Namun beberapa konfigurasi terkadang membuat pengguna bingung. Supaya lebih mudah dalam memahami .htaccess, artikel ini akan membahas apa itu .htaccess dan bagaimana cara menggunakannya.
Apa itu .htaccess?
Sebelum belajar htaccess lebih jauh, mari kita mengenal file .htaccess terlebih dahulu. htaccess adalah file konfigurasi yang berjalan di website untuk mengatur beberapa konfigurasi Apache Web Server. File .htaccess dapat digunakan untuk mengubah konfigurasi seperti mengaktifkan dan menonaktifkan fungsionalitas yang berjalan, melakukan redirect, mengatur ulang URL, memproteksi direktori menggunakan password, proteksi hotlink, memblokir IP tertentu, mengganti zona waktu, melakukan redirect, dan masih banyak yang lainnya.
File .htaccess ini bisa Anda temukan di berbagai website. Misalnya website yang dibangun dengan WordPress atau file default .htaccess CodeIgniter. Sayangnya, file ini terkadang tersembunyi di dalam direktori website. Anda perlu mengaktifkan fitur “show hidden file” untuk dapat menemukannya.
Bagaimana Cara Menggunakan .htaccess
Anda harus mempunyai akses masuk ke direktori website supaya dapat memodifikasi file .htaccess. Ada dua cara yang biasanya digunakan, yaitu menggunakan File Manager dan akses menggunakan FTP.
- Akses Menggunakan File Manager
Supaya bisa menggunakan cara ini, syaratnya adalah Anda harus mempunyai username dan password untuk mengakses cPanel.
Setelah mendapatkan akses untuk masuk ke cPanel, silakan ikuti panduan akses file hidden di File Manager untuk mengakses file .htaccess di dalam hosting menggunakan file manager.
- Akses Menggunakan FTP
Selain menggunakan akses ke cPanel, ada cara lain untuk mengakses file .htaccess, yaitu menggunakan FTP client. Anda harus mempunyai username dan password.
Anda bisa menggunakan berbagai macam aplikasi FTP client yang tersedia di internet seperti FileZilla, WinSCP, CyberDuck, dan SmartFTP. Namun kebanyakan menggunakan FileZilla sebagai aplikasi FTP mereka.
Jika menggunakan FileZilla, Anda dapat menggunakan panduan menggunakan FileZilla yang sudah pernah diulas sebelumnya.
Bagaimana bila tidak menemukan file .htaccess meskipun fitur “show hidden file” sudah diaktifkan? Ada kemungkinan Apache Web Server belum mempunyai file .htaccess atau file .htacces hilang. Jadi supaya bisa menggunakan fitur .htaccess, Anda hanya perlu membuatnya saja.
Contoh Penggunaan .htaccess
Segala pengaturan di .htaccess dapat diatur menggunakan httpd.conf, tapi tidak semua pengaturan di httpd.conf dapat diatur menggunakan .htaccess.
Meskipun terbatas, ada banyak hal yang bisa Anda lakukan menggunakan .htaccess. Di bawah ini beberapa contoh penggunaan .htaccess untuk mengatur konfigurasi Apache Web Server untuk website Anda.
1. Penggunaan Komentar
File .htaccess biasanya sudah terbuat secara default di dalam folder. Di dalam file tersebut biasanya sudah terdapat beberapa baris konfigurasi yang tersedia. Jika Anda ingin menambahkan konfigurasi yang benar-benar baru. Anda dapat memberikan komentar menggunakan tanda “#” pada setiap baris kode yang sudah ada. Kemudian memasukkan script yang baru di bawahnya.
Setiap baris yang diberikan simbol tanda pagar (#) berarti tidak aktif atau menjadi baris komentar yang berarti ketika file .htaccess dibaca, setiap baris kode yang bersimbol tanda pagar tidak dibaca.
2. Full .htaccess Overriding
Anda bisa mengatur tingkat hak akses yang dapat dilakukan menggunakan .htaccess. Ketika Anda mengatur full .htaccess overriding, maka seluruh konfigurasi di .htaccess akan diterapkan seperti httpd.conf.
Full .htaccess overriding dapat dilakukan dengan menambahkan script di bawah ini:
# Allow .htaccess files their full powerAllowOverride All |
3. Limited Overriding
Selain fungsi overriding, Anda bisa membatasi hak akses .htaccess ke dalam sistem. Di bawah ini adalah contoh script .htaccess yang hanya dapat ovveride authorization dan indexes.
# Only allow .htaccess files to override Authorization and IndexesAllowOverride AuthConfig Indexes |
4. Mengecek Status .htaccess
Ada kemungkinan penyedia layanan hosting tidak mengizinkan user untuk mengakses file httpd.conf. Jadi, bagaimana Anda tahu apakah .htaccess aktif atau tidak? Salah satu caranya adalah dengan mengecek status .htaccess sendiri menggunakan fitur “is_htaccess_enabled”.
Di dalam web hosting, ketika Anda mengakses website, Apache Web Server akan merespon dengan mengarahkan permintaan dari browser ke folder tertentu di hosting. Umumnya file yang pertama kali diakses adalah .htaccess.
Saat Apache mengakses file .htaccess, file ini akan memberi tahu Apache file mana yang perlu dimuat terlebih dahulu.
Jadi untuk memastikan .htaccess berjalan atau tidak, caranya pengecekannya cukup sederhana. Anda cukup membuat file is_aktif.html dan mengisinya dengan beberapa kode script atau hanya teks saja. Kemudian arahkan file .htaccess untuk mengakses file is_aktif.html sebelum mengakses index.html.
Jika dukungan .htaccess tidak diaktifkan, Apache secara default akan mengabaikan file is_aktif.html dan kemudian tetap membuka file index.html. Namun jika file .htaccess aktif, browser akan mengakses file is_aktif.html dan menampilkan halaman is_aktif.html yang sudah dimasukkan beberapa baris kode atau teks tadi.
Contoh baris kode yang digunakan di dalam file .htacces seperti di bawah ini:
# This Directive will make Apache look first# for “is_aktif.html” before looking for “index.html” DirectoryIndex is_aktif.html index.html |
DirectoryIndex berfungsi untuk mengambil file dari direktori yang terpisah. Ketika Apache menerima permintaan dari browser, biasanya tidak mengarah ke URL secara spesifik.
Misalnya ketika browser mengakses https://www.contoh.com bukan https://www.contoh.com/index.html.
Nah, Apache akan menggunakan URL ini untuk menemukan halaman yang tepat untuk dimuat. Apache akan mencari file yang sesuai dari kiri ke kanan –biasanya adalah file index.html atau index.php.
Untuk mengetahui lebih detail seputar hal ini, silakan mampir ke artikel Setting Force HTTPS htaccess.
5. Redirect
Htaccess Redirect memungkinkan Anda untuk mengarahkan pengunjung dari satu bagian website ke bagian lain. Perintah ini cukup berguna saat Anda memindahkan konten lama dan ingin mengarahkan pengunjung dari konten lama ke lokasi konten yang baru.
Anda dapat melakukan redirect menggunakan perintah di bawah ini:
Redirect /dir_lama/ https://www.yourdomain.com/dir_baru/index.html |
Perintah di atas akan memberikan informasi kepada Apache Web Server dengan logika seperti ini:
“Jika visitor meminta dokumen yang berlokasi di direktori ‘/dir_lama/’, sistem akan menampilkan dokumen yang berada di ‘/dir_baru/index.html’” .
6. Proteksi Password
Apache Web Server menawarkan fitur proteksi kata sandi dan otentifikasi. Anda dapat memberikan proteksi password pada sebuah folder dengan mengharuskan memasukkan password untuk mengaksesnya.
Folder yang terproteksi oleh .htaccess akan menampilkan sebuah pop-up login ketika Anda mencoba mengakses folder yang diberikan proteksi.
Jika Anda ingin mengaktifkan fitur ini, hal pertama yang perlu Anda lakukan adalah menentukan direktori mana yang ingin diproteksi. Kemudian masukkan langsung script di bawah ini ke dalam file .htaccess. Buat file .htaccess jika Anda belum mempunyainya.
AuthName “Member’s Area Name”AuthUserFile /path/to/password/file/.htpasswdAuthType Basicrequire valid-user |
7. Blok Visitor Berdasarkan IP
Cara membatasi akses website htaccess oleh Apache memungkinkan Anda untuk menolak akses dari pengunjung yang berasal dari IP tertentu. Fitur ini sangat berguna untuk menghalangi pengunjung yang tidak diinginkan, atau hanya mengizinkan IP tertentu yang dapat mengakses area tertentu, seperti area administrasi dan semacamnya.
Di bawah ini adalah contoh pengaturan yang digunakan untuk melakukan pembatasan atau memblokir pengunjung yang menggunakan alamat IP tertentu.
order allow,denydeny from 255.0.0.0deny from 192.168.1.allow from all |
Baris kode di atas mengarahkan Apache Web Server untuk memblokir pengunjung dari IP ‘255.0.0.0’ dan ‘192.168.1.’. IP kedua (‘192.168.1.’) tidak menggunakan digit ke-4 yang berarti seluruh IP yang menggunakan tiga digit awal 192.168.1 akan terblokir.
8. Blok Visitor Berdasarkan URL Asal
Selain fitur blokir berdasarkan alamat IP yang ditawarkan Apache Web Server, Anda juga dapat menggunakan cara blokir website berdasarkan negara htaccess. Pengaturan ini berguna pada saat Anda menyadari bahwa website mendapatkan akses dari salah satu website yang terindikasi melakukan spam atau mencoba untuk meretas website Anda.
Penggunaan fitur ini mengharuskan Anda mengaktifkan ‘mod_rewrite’ di server. Jadi Anda perlu memastikannya melalui system administrator atau penyedia layanan hosting bahwa fitur ‘mod_rewrite’ dalam keadaan aktif.
Di bawah ini adalah contoh script yang digunakan untuk memblokir akses yang berasal dari domain atau URL (referrer) tertentu:
RewriteEngine on# Options +FollowSymlinksRewriteCond %{HTTP_REFERER} domainlain\.com [NC]RewriteRule .* – [F] |
Baris kode di atas memberikan informasi ke Apache Web Server untuk memblokir trafik dari URL domainlain.com. Teks ‘[NC]’ setelah domain referrer memberikan informasi bahwa domain domain referrer tidak case-sensitive.
Sampai di sini, Anda sudah mengenal apa itu file .htaccess dan beberapa contoh penggunaannya. Tentu saja, file ini tak lepas dari masalah. Salah satunya, error .htaccess di WordPress yang sudah kami buatkan panduannya di artikel cara memperbaiki file htaccess WordPress.
Penutup
File .htaccess memudahkan Ada untuk mengatur ulang web server. Adanya file ini membuat Anda tidak perlu membutuhkan akses httpd.conf yang terkadang aksesnya dibatasi oleh penyedia layanan hosting. Meskipun tidak semua pengaturan httpd.conf dapat dijalankan di .htaccess, tapi ada banyak fungsionalitas httpd.conf yang bisa Anda ubah di .htaccess.
Semoga panduan ini dapat membantu Anda untuk memahami bagaimana penggunaan .htaccess dengan baik. Penggunaan .htaccess yang maksimal tentu saja dapat membuat website dapat berjalan secara maksimal.
Jika Anda menyukai artikel ini, jangan lupa subscribe untuk mendapatkan informasi terbaru dari kami, atau jika masih ada pertanyaan silakan meninggalkan komentar melalui kolom di bawah ini.