Pertanyaan
Saya ingin mengatur AllowOverride all
Tapi saya tidak tahu bagaimana cara melakukannya. Saya telah menemukan kode berikut dengan mencari di google dan menempelkannya di .htaccess
:
<Directory>
AllowOverride All
</Directory>
etapi setelah menempelkannya saya mulai menerima "Internal Server Error"
Adakah yang bisa memandu saya ke mana harus meletakkan kode ini atau bagaimana melakukannya?
Penjelasan/solusi
Jika Anda menggunakan Ubuntu, edit file /etc/Apache2/Apache2.conf
(di sini kami memiliki contoh /var/www
):
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
dan mengubahnya menjadi;
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
kemudian,
Sudo service Apache2 restart
Anda mungkin juga perlu melakukan Sudo a2enmod rewrite
untuk mengaktifkan penulisan ulang modul.
Tujuannya
Tujuan utama AllowOverride
adalah untuk pengelola file konfigurasi utama Apache (yang ditemukan di/etc/Apache2/terutama) untuk memutuskan bagian mana dari konfigurasi yang dapat diubah secara dinamis berdasarkan per-path berdasarkan aplikasi.
Jika Anda bukan administrator server, Anda bergantung pada AllowOverride Level yang diizinkan admin ini untuk Anda. Sehingga mereka dapat mencegah Anda untuk mengubah beberapa pengaturan keamanan penting;
Jika Anda adalah master konfigurasi master Apache, Anda harus selalu menggunakan AllowOverride None
dan mentransfer semua contoh berbasis google_ yang Anda temukan, berdasarkan file .htaccess ke bagian Directory
pada file konfigurasi utama. Sebagai konten .htaccess untuk file .htaccess
dalam /my/path/to/a/directory
sama dengan instruksi <Directory /my/path/to/a/directory>
, kecuali bahwa .htaccess
dinamis perubahan konfigurasi per permintaan HTTP-request adalah sesuatu yang memperlambat server web Anda. Selalu lebih suka konfigurasi statis tanpa .htaccess
memeriksa (dan