Saya telah memasukkan file .htaccess saya ke server produksi, tetapi file tersebut tidak berfungsi. Apakah restart menjadi langkah berikutnya, atau haruskah saya memeriksa yang lain.
Saya telah memasukkan file .htaccess saya ke server produksi, tetapi file tersebut tidak berfungsi. Apakah restart menjadi langkah berikutnya, atau haruskah saya memeriksa yang lain.
Jawaban:
Mulai ulang tidak diperlukan untuk mengubah .htaccess. Ada yang salah.
Pastikan .htaccess Anda menyertakan pernyataan tersebut
RewriteEngine aktif
yang diperlukan meskipun itu juga ada di httpd.conf. Periksa juga apakah .htaccess dapat dibaca oleh proses httpd.
Periksa error_log - ini akan memberi tahu Anda tentang kesalahan apa pun dalam .htaccess if sedang digunakan. Menempatkan kesalahan sintaks yang disengaja di .htaccess adalah pemeriksaan yang baik untuk memastikan file sedang digunakan - Anda akan mendapatkan kesalahan 500 pada halaman mana pun dalam direktori yang sama.
Terakhir, Anda dapat mengaktifkan log penulisan ulang menggunakan perintah seperti berikut di httpd.conf Anda:
RewriteLog "logs / rewritelog"
RewriteLogLevel 7
File log yang dihasilkan akan memberi Anda detail berdarah tentang aturan penulisan ulang yang cocok dan cara menanganinya.
Tidak :
Apache memungkinkan pengelolaan konfigurasi yang terdesentralisasi melalui file khusus yang ditempatkan di dalam pohon web. File khusus biasanya dipanggil
.htaccess
, tetapi nama apa pun dapat ditentukan di arahan AccessFileName ... Karena file .htaccess dibaca pada setiap permintaan, perubahan yang dibuat dalam file ini akan langsung berlaku ...
Dari dokumentasi apache: Umumnya, masalahnya adalah AllowOverride tidak disetel sedemikian rupa sehingga arahan konfigurasi Anda dijalankan. Pastikan bahwa Anda tidak memiliki AllowOverride None yang berlaku untuk cakupan file yang dimaksud. Pengujian yang baik untuk ini adalah dengan memasukkan sampah ke dalam file .htaccess Anda dan memuat ulang. Jika kesalahan server tidak dibuat, maka Anda hampir pasti memiliki AllowOverride None yang sedang berlaku.
Hanya jika Anda belum menambahkan modul mod_rewrite ke Apache.
Anda hanya perlu me-restart Apache jika Anda mengubah file ".conf" Apache.
Saya memiliki masalah yang sama dan tampaknya posting PiedPiper tentang AllowOverride paling membantu. Periksa file httpd.conf Anda untuk "AllowOverride" dan pastikan sudah disetel ke Semua.
Dalam kasus. Htaccess restart tidak diperlukan jika tidak bekerja, kemungkinan termasuk.
AllowOverride Mungkin tidak disetel pengguna mana yang dapat disetel di dalam httpd.conf atau mungkin harus menghubungi admin server.
Periksa nama file .htaccess seharusnya .htaccess bukan htaccess.txt lihat di sini untuk panduan cara membuatnya.
Cobalah untuk menggunakan Options -Indexes
atau deny all
semacam arahan sederhana untuk melihat apakah itu bekerja atau tidak.
bersihkan cache browser setiap kali jika memiliki aturan untuk pengalihan atau serupa jika pengalihan sebelumnya di-cache, tampaknya hal-hal tidak berfungsi.
LogLevel alert rewrite:trace7
. Setelah memulai ulang apache , Anda akan melihat jejak di error.log Semoga membantu. http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#logging