File .htaccess WordPress adalah berkas konfigurasi server Apache yang terletak di folder utama situs. WordPress memakainya terutama untuk satu hal: membuat permalink cantik bekerja, sehingga alamat seperti /blog/judul-artikel/ bisa dibuka meskipun tidak ada folder bernama itu di server. Di luar itu, berkas yang sama sering dipakai untuk pengalihan, pembatasan akses, dan pengaturan keamanan.
Karena satu baris yang salah bisa membuat seluruh situs error, .htaccess termasuk berkas yang paling sering ditakuti pemilik website. Panduan ini menjelaskan fungsinya, isi default resminya, cara mengedit dengan aman, contoh aturan yang berguna, dan cara memperbaiki .htaccess yang rusak. Kalau Anda belum familiar dengan cara server melayani halaman, baca dulu artikel web server adalah.
Apa itu .htaccess dan apa fungsinya di WordPress
Dokumentasi resmi WordPress menyebut .htaccess sebagai berkas konfigurasi terdistribusi, yaitu cara Apache menerapkan perubahan pengaturan per folder. Aturan di dalamnya berlaku untuk folder tempat berkas itu berada dan semua subfoldernya. Karena berkas utama WordPress ada di folder akar, .htaccess di sana memengaruhi seluruh situs.
Fungsi yang paling penting bagi WordPress adalah permalink. Saat pengunjung membuka /tentang-kami/, server sebenarnya tidak menemukan folder bernama itu. Aturan di .htaccess memberi tahu Apache: kalau alamat yang diminta bukan berkas atau folder nyata, serahkan permintaannya ke index.php. WordPress lalu membaca alamat itu dan menampilkan halaman yang sesuai dari database.
Selain permalink, .htaccess dipakai untuk beberapa keperluan lain:
- Pengalihan (redirect), misalnya dari HTTP ke HTTPS atau dari alamat lama ke alamat baru.
- Pembatasan akses ke berkas sensitif seperti
wp-config.php. - Pengaturan server seperti halaman indeks bawaan, karakter set, atau larangan menampilkan daftar isi folder.
- Aturan dari plugin, misalnya plugin cache atau keamanan yang menulis bloknya sendiri.
Di mana letak file .htaccess WordPress
File .htaccess ada di folder utama instalasi WordPress, sejajar dengan wp-config.php dan tiga folder wp-admin, wp-content, serta wp-includes. Di hosting dengan cPanel, folder itu biasanya public_html untuk domain utama.
Kalau berkasnya tidak terlihat, ada dua kemungkinan. Pertama, pengelola file menyembunyikan berkas yang namanya diawali titik. Di File Manager cPanel, buka Settings lalu centang opsi untuk menampilkan berkas tersembunyi. Di aplikasi FTP, cari opsi serupa. Kedua, berkasnya memang belum ada, misalnya karena permalink masih memakai format bawaan ?p=123. Dalam kasus kedua, menyimpan pengaturan permalink akan membuatnya.
Isi default .htaccess WordPress
Untuk instalasi WordPress biasa, dokumentasi resmi WordPress memuat blok aturan berikut. Ini isi yang dibuat WordPress saat Anda memilih permalink cantik di server Apache.
# 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
Artinya baris demi baris:
Tabel ini lebih lebar dari layar. Geser ke samping untuk melihat seluruh kolom.
| Baris | Yang dilakukan |
|---|---|
# BEGIN WordPress dan # END WordPress | Penanda wilayah milik WordPress. Isi di antara keduanya bisa ditulis ulang oleh WordPress kapan saja. |
RewriteEngine On | Menyalakan modul penulisan ulang alamat (mod_rewrite) untuk folder ini. |
RewriteRule .* - [E=HTTP_AUTHORIZATION:...] | Meneruskan header Authorization ke PHP, dibutuhkan antara lain oleh fitur yang memakai autentikasi seperti REST API. |
RewriteBase / | Menetapkan folder dasar. Kalau WordPress dipasang di subfolder, nilainya ikut berubah. |
RewriteRule ^index\.php$ - [L] | Kalau yang diminta memang index.php, biarkan dan berhenti. |
RewriteCond ... !-f dan !-d | Dua syarat: alamat yang diminta bukan berkas nyata dan bukan folder nyata. |
RewriteRule . /index.php [L] | Kalau dua syarat terpenuhi, serahkan permintaan ke index.php agar WordPress yang menangani. |
Karena ada pemeriksaan "bukan berkas nyata", gambar, CSS, dan JavaScript tetap disajikan langsung oleh server tanpa melewati WordPress. Untuk WordPress Multisite, blok aturannya berbeda dan lebih panjang. Gunakan versi Multisite dari dokumentasi resmi sesuai jenis jaringan Anda (subfolder atau subdomain), jangan menyalin blok situs tunggal.
Cara mengedit .htaccess WordPress dengan aman
Mengedit .htaccess bukan pekerjaan sulit, tetapi dampaknya langsung ke seluruh situs. Ikuti urutan ini setiap kali:
- Unduh cadangan. Sebelum mengubah apa pun, unduh salinan .htaccess ke komputer atau duplikat di server dengan nama lain, misalnya
.htaccess-cadangan. - Buka lewat File Manager atau FTP, bukan lewat editor plugin yang tidak jelas. Klik kanan berkas lalu pilih Edit.
- Tulis aturan baru di luar penanda WordPress. Dokumentasi keamanan WordPress menyarankan kode tambahan diletakkan di luar
# BEGIN WordPressdan# END WordPress, karena WordPress bisa menimpa apa pun di antara keduanya. - Tambahkan satu aturan per kali. Simpan, lalu langsung buka beranda, satu artikel, dan halaman admin di jendela penyamaran.
- Kalau muncul error, kembalikan cadangan. Error 500 setelah edit hampir selalu berarti ada baris yang tidak dikenali server.
Kebiasaan sederhana ini mencegah masalah yang paling sering terjadi, yaitu situs tiba tiba error setelah menempel potongan kode .htaccess dari internet tanpa menyimpan cadangan lebih dulu.
Contoh aturan .htaccess yang sering dipakai
Contoh berikut umum dipakai di situs WordPress pada server Apache. Pasang hanya yang memang Anda butuhkan, dan sesuaikan dengan situs Anda.
Melindungi wp-config.php
Berkas wp-config.php berisi kredensial database. Panduan keamanan resmi WordPress memberi contoh aturan berikut untuk menolak akses langsung dari browser, diletakkan di bagian paling atas .htaccess:
<Files "wp-config.php">
Require all denied
</Files>
Mematikan daftar isi folder
Tanpa berkas indeks, Apache bisa menampilkan daftar semua berkas dalam folder, misalnya di folder unggahan. Opsi Indexes di direktif Options mengatur hal ini, dan tanda minus menonaktifkannya:
Options -Indexes
Mengalihkan satu alamat lama ke alamat baru
Saat Anda mengganti slug halaman penting, arahkan alamat lama ke yang baru dengan pengalihan permanen agar pengunjung dan tautan dari situs lain tidak berakhir di halaman 404:
Redirect 301 /layanan-lama/ https://domainanda.com/layanan-baru/
Untuk pengalihan yang banyak, plugin pengelola redirect lebih mudah dirawat daripada puluhan baris di .htaccess. Pengalihan HTTP ke HTTPS juga sebaiknya diatur dari panel hosting bila tersedia, karena banyak penyedia sudah menyediakan tombolnya dan aturan ganda bisa menyebabkan pengalihan berputar.
Tabel ini lebih lebar dari layar. Geser ke samping untuk melihat seluruh kolom.
| Kebutuhan | Lewat .htaccess | Alternatif yang sering lebih aman |
|---|---|---|
| Permalink cantik | Otomatis dibuat WordPress | Simpan ulang Settings, Permalinks |
| HTTP ke HTTPS | Bisa, dengan aturan rewrite | Fitur paksa HTTPS di panel hosting |
| Satu atau dua redirect | Cocok, satu baris per alamat | Plugin redirect |
| Ratusan redirect | Sulit dirawat | Plugin redirect atau konfigurasi server |
| Lindungi wp-config.php | Cocok, contoh resmi tersedia | Izin berkas yang benar di server |
| Batas unggah berkas | Hanya bila PHP berjalan sebagai modul Apache | Pengaturan PHP di panel hosting |
Cara memperbaiki .htaccess yang rusak atau hilang
Tanda .htaccess bermasalah biasanya salah satu dari tiga: semua halaman selain beranda menampilkan 404, situs menampilkan error 500, atau situs berputar dalam pengalihan tanpa henti. Langkah perbaikannya:
- Ganti nama berkas yang ada menjadi
.htaccess-rusaksebagai cadangan. - Buka dasbor WordPress, masuk ke Settings, lalu Permalinks, dan klik Save Changes tanpa mengubah apa pun.
- Menurut dokumentasi WordPress, kalau .htaccess bisa ditulis, Anda akan melihat pesan bahwa struktur permalink diperbarui. Kalau tidak bisa ditulis, WordPress menampilkan aturan yang harus Anda tempel sendiri ke berkas baru.
- Kalau dasbor juga tidak bisa dibuka, buat berkas .htaccess baru dan tempel isi default dari bagian sebelumnya.
- Pindahkan kembali aturan tambahan dari cadangan satu per satu, sambil menguji situs setiap kali.
Kalau setelah semua langkah halaman tetap 404, masalahnya kemungkinan bukan di isi berkas, tetapi di server: modul mod_rewrite belum aktif atau server tidak mengizinkan .htaccess. Kedua hal ini diatur penyedia hosting, jadi hubungi dukungan teknis mereka dengan menyebut gejala dan langkah yang sudah dicoba.
.htaccess di hosting Nginx
Tidak semua server membaca .htaccess. Dokumentasi WordPress menjelaskan bahwa Nginx tidak punya berkas konfigurasi per folder seperti .htaccess milik Apache. Semua aturan diatur di konfigurasi server oleh administrator, dan WordPress tidak bisa mengubahnya sendiri seperti di Apache.
Konsekuensinya, kalau hosting Anda memakai Nginx murni, mengedit .htaccess tidak berpengaruh apa pun. Permalink tetap bisa bekerja, tetapi aturannya dipasang di konfigurasi server. Cara tercepat mengetahui jenis server adalah menanyakan ke penyedia hosting atau melihat informasi server di panel. Pembahasan memilih hosting ada di artikel apa itu hosting dan domain.
Hubungan .htaccess dengan kecepatan dan SEO
Berkas .htaccess sering disebut di tutorial kecepatan website, misalnya untuk kompresi dan cache browser. Aturan seperti itu memang bisa membantu, tetapi banyak plugin cache dan panel hosting sudah mengaturnya. Menambahkan aturan yang sama dua kali tidak membuat situs lebih cepat dan menambah risiko konflik. Ukur dulu dengan panduan cara cek kecepatan website sebelum menambah apa pun.
Dari sisi SEO, peran terbesar .htaccess ada pada dua hal: permalink yang bekerja dan pengalihan 301 yang benar saat alamat berubah. Halaman 404 massal akibat .htaccess rusak bisa membuat halaman penting hilang dari hasil pencarian bila tidak segera diperbaiki. Daftar pemeriksaan teknis lainnya ada di checklist website siap SEO.
Kapan perlu bantuan teknis
Mengedit .htaccess sendiri wajar untuk hal sederhana seperti memulihkan isi default atau menambah satu redirect. Bantuan teknis mulai masuk akal ketika situs memakai Multisite, ada banyak plugin yang menulis ke .htaccess sekaligus, Anda sedang memindahkan situs ke domain atau server baru, atau error tidak hilang setelah berkas dipulihkan. Dalam situasi itu, satu kesalahan bisa memutus akses pengunjung ke seluruh situs.
Kalau Anda masih menimbang apakah WordPress cocok untuk kebutuhan Anda, baca perbandingannya di WordPress atau website custom. Untuk mengenal ekosistemnya lebih dulu, mulai dari WordPress adalah dan plugin WordPress.
Kesimpulan
File .htaccess WordPress adalah berkas konfigurasi Apache di folder utama situs yang membuat permalink cantik bekerja dan bisa dipakai untuk redirect serta pengamanan. Isi defaultnya pendek dan tersedia di dokumentasi resmi, jadi berkas yang rusak hampir selalu bisa dipulihkan. Kuncinya ada di kebiasaan: cadangkan dulu, tulis aturan tambahan di luar penanda WordPress, tambahkan satu aturan per kali, dan uji situs setiap selesai menyimpan. Kalau server Anda Nginx, ingat bahwa .htaccess tidak dibaca sama sekali.
Sumber
- WordPress Developer Resources, Apache HTTPD / .htaccess (tab baru), untuk definisi .htaccess, isi default WordPress, versi Multisite, dan direktif Options.
- WordPress Developer Resources, Hardening WordPress (tab baru), untuk aturan melindungi wp-config.php dan saran meletakkan kode di luar penanda WordPress.
- WordPress.org, Settings Permalinks Screen (tab baru), untuk perilaku tombol Save Changes saat .htaccess bisa atau tidak bisa ditulis.
- WordPress Developer Resources, Nginx (tab baru), untuk penjelasan bahwa Nginx tidak memakai berkas konfigurasi per folder.



