Saya ingin mengatur AllowOverride all
Tapi saya tidak tahu bagaimana melakukannya. Saya telah menemukan kode berikut dengan mencari di google dan menempelkannya di .htaccess
:
<Directory>
AllowOverride All
</Directory>
Tetapi setelah menempelkannya saya mulai menerima "Internal Server Error"
Adakah yang bisa membimbing saya ke mana harus meletakkan kode ini atau bagaimana melakukannya?
<Directory>
direktif membutuhkan argumen jalan.Jawaban:
Jika Anda menggunakan Ubuntu, edit file
/etc/apache2/apache2.conf
(di sini kami memiliki contoh/var/www
):dan mengubahnya menjadi;
kemudian,
Anda mungkin perlu juga melakukannya
sudo a2enmod rewrite
untuk mengaktifkan penulisan ulang modul.sumber
sudo a2enmod rewrite
, maka itu berhasil. Di Ubuntu 14,04 LTS. Semoga bermanfaat bagi seseorang.IncludeOptional conf-enabled/*.conf
di baris terakhirapache2.conf
file saya . Tapi sepertinya itu yangapache2.conf
diprioritaskan.Tujuan utama dari
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 Tingkat AllowOverride yang diizinkan oleh admin tesis ini untuk Anda. Sehingga mereka dapat mencegah Anda untuk mengubah beberapa pengaturan keamanan penting;
Jika Anda adalah pengelola konfigurasi master apache, Anda harus selalu menggunakan
AllowOverride None
dan mentransfer semua contoh google_based yang Anda temukan, berdasarkan file .htaccess keDirectory
bagian pada file konfigurasi utama. Sebagai konten .htaccess untuk.htaccess
file dalam/my/path/to/a/directory
sama dengan<Directory /my/path/to/a/directory>
instruksi, kecuali bahwa.htaccess
perubahan konfigurasi dinamis per-permintaan-HTTP adalah sesuatu yang memperlambat server web Anda. Selalu lebih suka konfigurasi statis tanpa.htaccess
pemeriksaan (dan Anda juga akan menghindari serangan keamanan dengan.htaccess
perubahan).Ngomong-ngomong dalam contoh yang Anda gunakan
<Directory>
dan ini akan selalu salah, instruksi Direktori selalu mengandung lintasan, seperti<Directory />
atau<Directory C:>
atau<Directory /my/path/to/a/directory>
. Dan tentu saja ini tidak dapat dimasukkan.htaccess
sebagai.htaccess
seperti instruksi direktori tetapi dalam file yang ada di direktori ini. Tentu saja Anda tidak dapat mengubahAllowOverride
dalam.htaccess
karena instruksi ini adalah mengelola tingkat keamanan dari.htaccess
file.sumber
Goto
your_severpath/apache_ver/conf/
Buka filehttpd.conf
di Notepad.Temukan baris ini:
Hapus simbol hash:
Lalu goto
<Directory />
dan ubah ke:
Kemudian restart server lokal Anda.
sumber
Order allow,deny
danAllow from all
untuk Apache 2.2 dan sebelumnya. Dengan Apache 2.4, kedua baris digantikan olehRequire all granted
seperti yang ditunjukkan pada jawaban lain.Di Linux, untuk mengendurkan akses ke root dokumen, Anda harus mengedit file berikut:
Dan tergantung pada level direktori yang Anda inginkan untuk bersantai, Anda harus mengubah arahan
untuk
Jadi, dengan asumsi Anda ingin mengizinkan akses ke file di direktori / var / www / html, Anda harus mengubah baris berikut dari:
untuk
sumber
Jika Anda menggunakan Linux, Anda dapat mengedit kode di direktori
sekarang, di sini cari baris kode yang agak mirip
Ubah AllowOveride None menjadi AllowOveride All
Sekarang sekarang Anda dapat mengatur segala jenis aturan dalam file .httacess Anda di dalam direktori Anda jika ada sistem operasi lain hanya mencoba mencari file dari httpd.conf dan mengeditnya.
sumber
now here fine the code line kinda like # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. #Sep 11, 2013 apache - How to Set AllowOverride all - Stack Overflow stackoverflow.com/questions/18740419/how-to-set-allowoverride-all
Saya pikir Anda ingin mengaturnya di
httpd.conf
file Anda, bukan.htaccess
file.Saya tidak yakin OS apa yang Anda gunakan, tetapi tautan ini untuk Ubuntu mungkin memberi Anda beberapa petunjuk tentang apa yang harus dilakukan.
https://help.ubuntu.com/community/EnablingUseOfApacheHtaccessFiles
sumber
Seperti yang dijelaskan pengguna lain di sini tentang penggunaan direktif allowoveride, yang digunakan untuk memberikan izin pada penggunaan .htaccess. satu hal yang ingin saya tunjukkan bahwa jangan pernah menggunakan allowoverride semua jika pengguna lain memiliki akses untuk menulis .htaccess sebagai gantinya gunakan allowoveride untuk mengizinkan modul tertentu.
Seperti
AllowOverride AuthConfig mod_rewrite
Alih-alihKarena modul seperti mod_mime dapat membuat file sisi server Anda sebagai teks biasa.
sumber
Saya juga menemui masalah ini, dan saya menemukan solusinya sebagai 2 langkah di bawah ini: 1. Dalam folder apache2 yang didukung situs, Anda mengedit dalam elemen Direktori dengan mengatur "AllowOverride semua" (harus "semua" bukan "tidak ada") 2. Dalam proyek kohana di folder www, ganti nama "example.htaccess" menjadi ".htaccess"
Saya melakukannya di ubuntu. Semoga itu akan membantu Anda.
sumber
SuSE Linux Enterprise Server
Pastikan Anda mengedit file yang tepat https://www.suse.com/documentation/sles11/book_sle_admin/data/sec_apache2_configuration.html
Dalam hal demikian
vhosts.d/*.conf
harus dieditsumber
Ditambah jawaban yang benar yang di-upgrade-kan kadang-kadang kesalahan yang sama dapat terlihat karena pengaturan yang tidak cocok dan berbeda pada
SSL
bagian dari konfigurasi server web . (Jelas saat tidak menggunakan.htaccess
file).sumber