Aturan mod_rewrite tidak berfungsi pada host virtual. Saya menginginkan ini untuk cakephp.
Apakah ada pengaturan untuk ditambahkan dalam file host virtual?
sumber
Aturan mod_rewrite tidak berfungsi pada host virtual. Saya menginginkan ini untuk cakephp.
Apakah ada pengaturan untuk ditambahkan dalam file host virtual?
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.
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?Aktifkan Penulisan Ulang menggunakan
Kemudian restart apcahe2 menggunakan
Aktifkan di Virtualhost dengan menambahkan
Kemudian restart apcahe2 menggunakan
contoh :
sumber