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