Generator .htaccess
Buat aturan .htaccess umum untuk situs web Anda. Pilih opsi yang Anda butuhkan dan salin kode yang dihasilkan.
Performance
Security
• The .htaccess file should be placed in the root directory of your website
• Make sure mod_rewrite is enabled on your Apache server
• Always backup your existing .htaccess file before replacing it
• Some hosting providers may restrict certain .htaccess directives
Cara menggunakan Generator .htaccess
- 1
Masukkan domain Anda
Ketik nama domain Anda, seperti example.com, di kolom Domain Settings.
- 2
Pilih aturannya
Centang opsi yang Anda butuhkan, seperti Force HTTPS, Force atau Remove www, kompresi GZIP, perlindungan hotlink, atau halaman error kustom.
- 3
Tambahkan redirect
Untuk redirect URL, masukkan path lama dan baru lalu pilih redirect permanen 301 atau sementara 302.
- 4
Salin atau unduh
Gunakan Copy to Clipboard atau Download .htaccess dan unggah file tersebut ke direktori root situs Anda.
Menguasai Berkas .htaccess Apache
Apa yang sebenarnya dilakukan berkas .htaccess
Berkas .htaccess adalah berkas konfigurasi per-direktori untuk server web Apache. Ketika Apache dibangun dengan AllowOverride diaktifkan, ia membaca berkas .htaccess di direktori yang sedang dilayaninya, ditambah berkas di setiap direktori induk, dan menerapkan direktifnya pada permintaan tersebut. Ini memungkinkan Anda mengubah perilaku server, redirect, caching, kontrol akses, dan banyak lagi, tanpa menyentuh konfigurasi server utama atau memulai ulang Apache. Perubahan berlaku pada permintaan berikutnya, dan itulah yang membuat .htaccess begitu praktis pada shared hosting tempat Anda tidak punya akses ke konfigurasi utama.
Nama berkasnya secara harfiah .htaccess, dengan titik di depan dan tanpa ekstensi, dan pada sistem mirip Unix titik itu menjadikannya berkas tersembunyi. Berkas ini ditempatkan di direktori yang perilakunya ingin Anda ubah; yang paling umum adalah document root situs Anda. Sebuah aturan di root berlaku untuk seluruh situs kecuali ada .htaccess yang lebih dalam yang menimpanya.
Hanya Apache: Nginx dan lainnya mengabaikannya
Inilah hal pertama yang harus diverifikasi sebelum Anda menulis satu aturan pun: .htaccess adalah fitur Apache. Nginx, server web dominan lainnya, sama sekali tidak membaca berkas .htaccess dan tidak akan pernah membacanya, secara desain. Jika situs Anda berjalan di Nginx, menaruh .htaccess di root tidak melakukan apa-apa, dan redirect, rewrite, serta header yang setara harus dinyatakan di dalam server block Nginx. LiteSpeed dan beberapa server yang kompatibel dengan Apache memang memahami sintaks .htaccess, tetapi Nginx, Caddy, dan IIS masing-masing menggunakan format konfigurasinya sendiri.
Jika Anda tidak yakin server mana yang Anda miliki, periksa header respons Server, yang dapat ditampilkan oleh HTTP Header Viewer situs ini. Melihat Apache di sana memastikan .htaccess akan berfungsi; melihat nginx berarti Anda salah jalur dengan berkas ini.
Redirect dan kanonikalisasi dengan mod_rewrite
Tugas paling umum untuk .htaccess adalah meredirect URL, yang dilakukannya melalui modul mod_rewrite yang dibungkus dalam blok RewriteEngine On. Perpindahan permanen sederhana menggunakan Redirect 301 dari jalur lama ke jalur baru, sementara RewriteRule menangani redirect berbasis pola dengan ekspresi reguler. Dua tugas kanonikalisasi yang dibutuhkan hampir setiap situs adalah memaksa satu nama host (selalu www atau selalu non-www) dan memaksa HTTPS, keduanya dicapai dengan RewriteCond yang menguji permintaan masuk diikuti oleh RewriteRule yang mengeluarkan 301 ke versi kanonik.
Selalu gunakan 301 (permanen) untuk perpindahan yang ingin Anda pertahankan, karena 301 meneruskan ekuitas tautan ke tujuan dan memberi tahu mesin pencari untuk memperbarui indeksnya. Detail yang halus namun penting adalah menghindari rantai redirect: kirim http://example.com langsung ke https://www.example.com dalam satu lompatan alih-alih memantul melewati https://example.com terlebih dahulu. Setiap lompatan tambahan menambah latensi dan sedikit mengencerkan sinyal peringkat, yang dapat dibantu dideteksi oleh Redirect Chain Checker situs ini.
Performa: kompresi, caching, dan biaya AllowOverride
Dua fitur .htaccess memberi keuntungan performa langsung. Kompresi GZIP, dikonfigurasi melalui mod_deflate, menyusutkan respons berbasis teks seperti HTML, CSS, dan JavaScript sebelum dikirim, sering memangkas ukuran transfer sebesar 60 hingga 80 persen. Caching browser, diatur dengan header Cache-Control dan Expires melalui mod_expires atau mod_headers, memberi tahu browser untuk menggunakan kembali aset statis seperti gambar dan font alih-alih mengunduhnya ulang setiap kunjungan. Bersama-sama keduanya termasuk peningkatan kecepatan berdampak tertinggi dengan upaya terendah yang tersedia.
Namun, ada biaya tersembunyi pada .htaccess itu sendiri. Karena Apache harus memeriksa keberadaan berkas .htaccess di setiap direktori sepanjang jalur dari setiap permintaan, mengaktifkan AllowOverride menambahkan pencarian sistem berkas pada setiap permintaan. Pada situs berlalu lintas tinggi yang Anda kendalikan, memindahkan direktif ini ke konfigurasi server utama dan menyetel AllowOverride None terukur lebih cepat. Pada shared hosting Anda biasanya tidak punya pilihan, dan kepraktisannya melebihi overhead-nya, tetapi ada baiknya mengetahui mengapa .htaccess tidak dianjurkan untuk server yang kritis terhadap performa.
Keamanan, halaman error, dan kontrol akses
Di luar redirect dan performa, .htaccess banyak digunakan untuk memperkuat dan mempercantik sebuah situs. Halaman error kustom, diatur dengan direktif ErrorDocument, menggantikan layar error bawaan Apache yang muram dengan halaman bermerek untuk respons 404 dan 500, yang lebih baik bagi pengguna maupun keamanan. Proteksi hotlink menggunakan RewriteCond pada header Referer untuk mencegah situs lain menanamkan gambar Anda dan menghabiskan bandwidth Anda. Anda juga bisa mengirim header keamanan seperti X-Frame-Options, Content-Security-Policy, dan Strict-Transport-Security melalui direktif Header.
Untuk kontrol akses, .htaccess dapat membatasi sebuah direktori berdasarkan alamat IP atau meminta kata sandi melalui .htpasswd, dan dapat memblokir pemindaian enumerasi-penulis yang menyelidiki nama pengguna pada sistem manajemen konten. Kontrol ini sungguh berguna, tetapi ingatlah bahwa semuanya hanya berjalan ketika Apache melayani permintaan melalui jalur normal; padukan dengan keamanan tingkat aplikasi yang benar alih-alih mengandalkan .htaccess saja.
Sintaks tidak memaafkan: uji sebelum percaya
Risiko terbesar dengan .htaccess adalah bahwa kesalahan sintaks biasanya tidak gagal secara diam-diam. Sebaliknya, ia memicu 500 Internal Server Error untuk setiap halaman di bawah direktori itu, membuat seluruh situs offline sampai berkasnya diperbaiki. Tidak ada langkah kompilasi dan tidak ada validasi sebelum penerapan, jadi salah ketik, modul yang hilang, atau direktif yang dinonaktifkan oleh host Anda bisa merusak semuanya seketika. Direktif Apache juga peka urutan: aturan rewrite dievaluasi dari atas ke bawah, dan aturan luas yang ditempatkan sebelum aturan spesifik dapat menelan permintaan yang seharusnya ditangkap aturan spesifik tersebut.
Alur kerja yang aman adalah selalu mencadangkan .htaccess yang ada sebelum mengubahnya, menerapkan perubahan saat lalu lintas rendah, dan segera memuat situs setelahnya untuk memastikannya masih merespons. Jika Anda melihat error 500, pulihkan cadangan terlebih dahulu dan debug kemudian. Ketika sebuah direktif bergantung pada modul seperti mod_rewrite atau mod_deflate, pastikan host Anda mengaktifkan modul itu, karena aturan untuk modul yang hilang bisa menimbulkan error.
Pertanyaan yang sering diajukan
Aturan apa saja yang bisa dibuat generator ini?
Apa perbedaan antara redirect 301 dan 302?
Di mana saya meletakkan file .htaccess yang dihasilkan?
Apakah ini berfungsi di Nginx atau server lain?
Apakah kode yang dihasilkan dikirim ke mana pun?
Alat terkait
Lanjutkan dengan alat praktis ini