Dokumentasi / .htaccess — dua mode, dan mana yang Anda butuhkan

.htaccess — dua mode, dan mana yang Anda butuhkan

Kalau Anda menambahkan sesuatu ke .htaccess dan situsnya berperilaku seolah Anda tidak menambahkan apa pun, baca ini dulu. Tidak ada yang rusak — situs Anda kemungkinan besar berada pada mode yang menerjemahkan .htaccess, bukan membacanya langsung, dan penerjemahan mencakup aturan yang umum, bukan semuanya.

Buka Domain → Apache / .htaccess. Lencana di bagian atas kartu memberi tahu situs ini ada di mode yang mana.

Nama tombol di dalam jendela alat sengaja ditulis apa adanya dalam bahasa Inggris — begitulah yang tampil di panel.

Dua mode itu

Translated (bawaan). .htaccess Anda diubah menjadi aturan milik server web yang cepat. Direktif yang umum tetap bekerja. Apa pun yang tak bisa dihasilkan ulang oleh penerjemah akan dilewati, dan semuanya didaftar untuk Anda pada tabel di bawah kartu. Perubahan pada berkas baru berlaku setelah Anda menekan Translate now — berkasnya tidak dibaca pada setiap permintaan.

Full .htaccess. Berkas Anda dibaca langsung, persis seperti di cPanel. Semua direktif yang didukung Apache bekerja, dan perubahan berlaku pada permintaan berikutnya. Sedikit lebih lambat daripada mode translated, karena tiap permintaan melewati satu langkah tambahan.

Mana yang Anda butuhkan

Tetap di Translated kalau .htaccess Anda berisi blok permalink WordPress, pengalihan paksa ke HTTPS, pengalihan www/non-www, baris Redirect, sakelar daftar direktori, atau proteksi basic-auth. Itu mencakup sebagian besar situs, dan ini jalur yang lebih cepat.

Nyalakan Full .htaccess kalau:

  • tabel di bawah kartu mendaftar direktif yang benar-benar Anda butuhkan,
  • Anda mengatur nilai PHP dari .htaccess (php_value, php_flag) — ini tidak pernah diterapkan pada mode translated, apa pun isi berkasnya,
  • Anda memakai SetEnv, SetEnvIf, RequestHeader, AddType, AddHandler, atau aturan rewrite berkondisi yang diperingatkan penerjemah,
  • atau Anda sedang memindahkan situs dari tempat lain dan tidak ingin memeriksa .htaccess-nya satu per satu.

Tak ada kerugian lain selain sedikit tambahan waktu tanggap. Tidak ada biaya, tidak ada langkah lanjutan, tidak ada yang perlu dikonfigurasi.

Membaca tabelnya

Di bawah kartu mode, tiap baris adalah satu direktif yang tak bisa dihasilkan ulang oleh penerjemah, lengkap dengan nomor barisnya dan apa yang sebaiknya dilakukan.

  • Pada mode Translated, catatan di atas tombol menyebut berapa banyak yang sedang diabaikan. Aturan-aturan itu tidak berjalan.
  • Pada mode Full .htaccess, daftar yang sama muncul, tetapi catatannya menyebut semuanya bekerja — daftar itu baru penting kalau suatu saat Anda kembali ke mode translated.

Kalau tabelnya kosong, tidak ada isi .htaccess Anda yang hilang, dan mode translated sudah mengerjakan semua yang berkas itu minta.

Berpindah mode

Satu tombol. Pada mode translated tulisannya Turn on full .htaccess support; pada mode penuh tulisannya Switch to translated (faster).

  • Butuh beberapa detik. Kartunya menampilkan Applying — this can take a few seconds… selama berlangsung.
  • Situs Anda tidak mati. Jalur baru dipasang lebih dulu sebelum yang lama dilepas, di kedua arah, dan bila ada bagian yang gagal keduanya dikembalikan seperti semula.
  • Tidak ada hal lain pada akun yang berubah. Berkas, akar dokumen, versi PHP, sertifikat, dan HTTPS Anda tetap persis seperti sebelumnya. PHP situs Anda tetap berjalan sebagai pengguna Anda sendiri, terisolasi dari setiap akun lain di server, pada kedua mode.
  • Alamat pengunjung di log akses Anda tetap alamat pengunjung yang sebenarnya.
  • Anda boleh berpindah bolak-balik kapan saja, sesering yang Anda mau.

Kalau Anda pindah dari cPanel

Anda tak perlu melakukan apa-apa. Saat sebuah akun diimpor dari berkas cadangan cPanel, pengimpor menerjemahkan .htaccess yang ditemukannya, dan kalau ada satu saja direktif yang tak bisa diterjemahkan, akun itu langsung dipindahkan ke mode .htaccess penuh. Situsnya berperilaku seperti di server lama sejak permintaan pertama.

Laporan impor menampilkannya sebagai dua baris: berapa aturan yang diterjemahkan dan berapa yang perlu ditinjau, lalu apakah modenya dipindahkan.

Situs yang memang tak butuh apa pun yang tak biasa tetap berada di jalur translated yang lebih cepat.

Kalau ada yang tampak salah

Sebuah aturan tetap tak berpengaruh setelah berkasnya diubah, dan Anda ada di mode translated. Tekan Translate now. Pada mode ini berkasnya dibaca saat Anda memintanya, bukan pada setiap permintaan.

Semua halaman menjawab HTTP 500 tepat setelah menyalakan mode penuh. Kembali ke mode sebelumnya — tombolnya mengembalikan Anda ke posisi semula — lalu laporkan ke penyedia hosting Anda. Artinya Apache di server itu belum memuat modul yang dibutuhkan berkas Anda (RewriteEngine On yang paling sering). Itu setelan di sisi server, bukan sesuatu yang bisa Anda perbaiki dari akun Anda.

Semua halaman menjawab 502 dan Anda ada di mode penuh. Proses Apache di server sedang tidak berjalan. Situs yang berada di mode translated tidak terpengaruh — itu keterangan yang berguna disampaikan ke penyedia Anda.

Perpindahan ditolak dengan pesan tentang port Apache. Server sudah kehabisan slot yang dialokasikan untuk mode ini. Hanya penyedia Anda yang bisa menaikkannya.

Ubin Apache / .htaccess tidak ada sama sekali di panel Anda. Bisa jadi paket hosting Anda tidak menyertakannya, atau server itu memang disiapkan tanpa Apache. Tanyakan yang mana kepada penyedia Anda.

Yang tidak berubah pada mode penuh

  • Sertifikat Anda. HTTPS diakhiri sebelum permintaan sampai ke Apache, jadi penerbitan dan perpanjangan tidak tersentuh.
  • Isolasi. PHP berjalan sebagai pengguna akun Anda sendiri pada kedua mode.
  • Angka bandwidth dan statistik pengunjung Anda.
  • Akun lain di server itu. Setelan ini milik Anda sendiri — diputuskan per akun, bukan per server.