Rumah >pembangunan bahagian belakang >tutorial php >Mengapa URL CodeIgniter Saya Tidak Mengalih Keluar 'index.php' Walaupun Menggunakan mod_rewrite?

Mengapa URL CodeIgniter Saya Tidak Mengalih Keluar 'index.php' Walaupun Menggunakan mod_rewrite?

Patricia Arquette
Patricia Arquetteasal
2024-12-26 01:18:09686semak imbas

Why Aren't My CodeIgniter URLs Removing

Mengalih keluar index.php daripada URL CodeIgniter

Matlamat anda adalah untuk menghapuskan "index.php" daripada URL CodeIgniter anda, tetapi walaupun membolehkan mod_rewrite , menetapkan $config['index_page'] kepada '', dan melaksanakan kod .htaccess yang disediakan, isu berterusan. Mari kita siasat punca yang berpotensi.

Untuk bermula, pastikan mod_rewrite didayakan dalam konfigurasi pelayan Apache2 anda dan pembolehubah $config['index_page'] dalam config.php kosong:

$config['index_page'] = "";

Seterusnya, sahkan bahawa fail root .htaccess anda mengandungi kod berikut:

RewriteEngine on
RewriteCond  !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/ [L,QSA]

Perhatikan bahawa Kod .htaccess mungkin berbeza bergantung pada pelayan pengehosan anda. Dalam sesetengah kes, tambahan "?" mungkin diperlukan pada penghujung baris terakhir:

RewriteRule ^(.*)$ index.php?/ [L,QSA]

Jika langkah sebelumnya gagal menyelesaikan isu, cuba yang berikut:

  1. Dayakan REQUEST_URI Protocol: Gantikan $config['uri_protocol'] = "AUTO" dengan $config['uri_protocol'] = "REQUEST_URI" dalam config.php.
  2. Lumpuhkan RewriteEngine Semasa Pembangunan: RewriteEngine Apache2 boleh mengganggu persekitaran pembangunan CodeIgniter. Lumpuhkannya buat sementara waktu dengan mengulas baris RewriteEngine dalam fail .htaccess anda semasa pembangunan.
  3. Semak Kebenaran .htaccess: Pastikan bahawa kebenaran fail .htaccess ditetapkan untuk membenarkan Apache2 mengubah suainya.
  4. Kosongkan Cache: Tutup dan buka semula anda pelayar atau kosongkan cachenya untuk memastikan struktur URL baharu dikenali.

Atas ialah kandungan terperinci Mengapa URL CodeIgniter Saya Tidak Mengalih Keluar 'index.php' Walaupun Menggunakan mod_rewrite?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn