Aturan mod_rewrite tidak berfungsi pada host virtual. Saya menginginkan ini untuk cakephp.
Apakah ada pengaturan untuk ditambahkan dalam file host virtual?
Aturan mod_rewrite tidak berfungsi pada host virtual. Saya menginginkan ini untuk cakephp.
Apakah ada pengaturan untuk ditambahkan dalam file host virtual?
Jawaban:
Jika Anda menggunakan versi apache terbaru 2.4+ maka di sini adalah proses bagaimana mengaktifkan mod_rewrite.
Pergi ke etc/apache2/
Buka apache2.conf
menggunakan editor teks favorit Anda.
Perubahan
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
untuk
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Lalu simpan itu. Ingat Anda harus memiliki izin root untuk mengedit dan menyimpan file ini.
Sekarang restart apache.
service apache2 reload
Proses ini akan mengaktifkan mod_rewrite untuk server apache termasuk virtual host.
Anda juga dapat memeriksa apakah itu diaktifkan atau tidak. Buat skrip php
<?php
phpinfo();
?>
Muat dari server. Di bawah Loaded Modules
bagian periksa apakah mod_rewrite
ada atau tidak. Jika ada di sana maka itu diaktifkan.
Aktifkan Penulisan Ulang menggunakan
# sudo a2enmod rewrite
Kemudian restart apcahe2 menggunakan
# service apache2 restart
Aktifkan di Virtualhost dengan menambahkan
AllowOverride FileInfo
Kemudian restart apcahe2 menggunakan
# service apache2 restart
contoh :
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
# I Have below line from none to FileInfo
AllowOverride FileInfo
Order allow,deny
allow from all
</Directory>
apache2.conf
dan memulai kembaliapache
404 menghilang tetapi semua halaman mendarat kembali di beranda!phpinfo()
tidak memilikimod_rewrite
modul diaktifkan baik. Kemudian jalankan perintah CLI (seperti yang disarankan oleh Lonston di bawah) semuanya menjadi emas! Mengapa solusi ini tidak mengaktifkanmod-rewrite
modul untuk saya tetapi persetujuan CLI? Apakah ini kombinasi memodifikasi.conf
dan menjalankan perintah CLI satu demi satu untuk mengaktifkan modul atau salah satu dari ini sebenarnya sudah cukup?