Bagaimana cara menghapus "index.php"
penonjolan di setiap jalur di codeigniter di suatu tempat di tengah? Saya ingin bersih bukan index.php-fied URLs
?
php
mod-rewrite
codeigniter
url-rewriting
OrangeRind
sumber
sumber
Jawaban:
Jika Anda menggunakan Apache, letakkan file .htaccess di direktori web root Anda yang berisi berikut ini:
Versi bagus lainnya ada di sini:
http://snipplr.com/view/5966/codeigniter-htaccess/
sumber
RewriteCond $1 !^\/(index\.php|assets|robots\.txt)
Saya mengalami beberapa masalah besar dengan menghapus index.php. Sebagai aturan umum, .htaccess di bawah ini telah diuji di beberapa server dan biasanya berfungsi:
Jika Anda tidak beruntung dengan itu maka langkah selanjutnya adalah menyesuaikan file konfigurasi Anda. Coba beberapa protokol URI lainnya, misalnya
Jika Anda masih belum berhasil, coba ubah aturan penulisan ulang untuk menyertakan subfolder Anda. Ini sering menjadi masalah jika Anda menggunakan URL sementara di server dev, dll:
Hanya bermain-main dengan opsi ini, salah satunya harus berfungsi. Selain itu, pastikan file indeks Anda disetel ke:
Semoga berhasil!
sumber
Miliki file.htaccess di direktori root aplikasi, bersama dengan file index.php. (Periksa apakah ekstensi htaccess sudah benar, Bz htaccess.txt tidak berfungsi untuk saya.)
Dan Tambahkan aturan berikut ke file .htaccess,
Kemudian temukan baris berikut di file application / config / config.php Anda
Atur variabel kosong seperti di bawah ini.
Itu saja, itu berhasil untuk saya.
Jika tidak berhasil, coba ganti variabel berikut dengan parameter ini ('AUTO', 'PATH_INFO', 'QUERY_STRING', 'REQUEST_URI', dan 'ORIG_PATH_INFO') satu per satu
sumber
Coba lihat di
system\application\config\config.php
file tersebut, ada variabel bernamaindex_page
Seharusnya terlihat seperti ini
ubah menjadi
Kemudian seperti yang disebutkan, Anda juga perlu menambahkan aturan penulisan ulang ke
.htaccess
fileCatatan: di CodeIgniter v2 file ini dipindahkan dari folder sistem ke
application\config\config.php
sumber
Semua metode di atas gagal untuk saya dan kemudian saya menemukan bahwa saya tidak mengubah AllowOverride None menjadi AllowOverride All di file host virtual saya di / etc / apache2 / sites-available / default
sumber
sumber
sumber
Hanya berpikir saya bisa menambahkan
akan menjadi .htaccess dan pastikan untuk mengedit variabel application / config.php Anda dengan cara berikut:
menggantikan
dengan
sumber
Ini pasti berhasil .. cobalah
sumber
Pastikan Anda telah mengaktifkan
mod_rewrite
(saya belum).Untuk mengaktifkan:
Selain itu, ganti
AllowOverride None
denganAllowOverride All
Akhirnya ...
.Htaccess saya adalah
sumber
actions
: stackoverflow.com/questions/14419757/…Solusi sempurna [diuji di localhost serta di domain nyata]
sumber
Ini adalah .htaccess untuk salah satu proyek CI saya:
Baris terakhir akan memberikan apa yang Anda butuhkan, meskipun Anda mungkin atau mungkin tidak memerlukan '/ projectFolder' tergantung pada bagaimana struktur folder Anda diatur. Semoga berhasil!
sumber
Gunakan
mod_rewrite
seperti yang diinstruksikan dalam tutorial ini dari CI wiki.sumber
Sebagai file .htaccess, opsi yang bagus adalah menggunakan yang disediakan oleh Kohana Framework :
Ini adalah .htaccess yang dipikirkan dengan baik dan berfungsi.
sumber
Ada dua cara untuk menyelesaikan index.php di jalur url untuk codeigniter
1: Di config / config.php Ubah kode:
untuk
2: Buat .htacess di jalur root jika tidak dibuat, Salin kode berikut: -
Simpan dan cek di Apache Configuration rewrite_module ATAU mod_rewrite is Enabled. Jika belum, silakan aktifkan. (Pendekatan Terbaik)!
sumber
Saya menguji ini di apache2 di banyak hosting yang berbeda dan berfungsi dengan baik.
gunakan htaccess ini
pastikan Anda memiliki
enabled mod_rewirte
denganphpinfo();
lalu lakukan ini di config / config.php:
jika belum berhasil, coba ubah
$config['uri_protocol']='AUTO'
ke salah satuapplication/config/config.php
file di dalam yang tercantum di baris 40/54:terkadang saya menggunakan:
REQUEST_URI
alih-alihAUTO
atau"QUERY_STRING"
untuk hosting goDaddysumber
Lihat di
\application\config\config.php
file tersebut, ada variabel bernamaindex_page
Seharusnya terlihat seperti ini
ubah menjadi
Kemudian seperti yang disebutkan Anda juga perlu menambahkan aturan penulisan ulang ke
.htaccess
file seperti ini:Ini berhasil untuk saya, harap Anda juga.
sumber
Jika Anda menggunakan linux dan menggunakan server apache2 maka kami mungkin perlu mengganti file apache2.conf juga di samping perubahan pada file .htaccess. Temukan file konfigurasi apache2 di /etc/apache2/apache2.conf .
Cari Direktori / var / www / Ubah AllowOverride Tidak Ada -> AllowOverride Semua
sumber
tempatkan file .htaccess di direktori web root Anda
Apapun tweaker yang Anda lakukan - jika hal di atas tidak terpenuhi - itu tidak akan berhasil. Biasanya ada di folder Sistem, itu harus di root. Bersulang!
sumber
application
direktori, bukan di root.Saya telah mencoba banyak solusi tetapi yang saya dapatkan adalah ini:
Ini saya akan menghapus index.php dari url sesuai kebutuhan.
sumber
Saya menggunakan baris ini dalam
.htaccess
file; yang saya tempatkan di folder rootKemudian saya dapat mengakses http://example.com/controller/function/parameter
alih-alih http://example.com/index.php/controller/function/parameter
sumber
Ini akan membantu Anda menempelkan kode ini di folder aplikasi di file .htacess
sumber
Yang ini membuatku benar-benar ajaib:
Semoga membantu!
sumber
Hai Yang satu ini berhasil
serta ini
dimana foldernya adalah nama subfolder jika aplikasi codeigniter ini di-host sebagai subdomain misal domainname / folder / index.php.
Harapan itu berhasil untuk Anda. Terima kasih.
sumber
Salin kode berikut di .htaccess Anda
sumber
sumber
Langkah 1 :
Tambahkan ini di file htaccess
Langkah 2 :
Hapus index.php di konfigurasi codeigniter
Langkah 3:
Izinkan penggantian htaccess di Apache Configuration (Command)
sudo nano /etc/apache2/apache2.conf dan edit file & ubah ke
untuk folder www
Langkah 4:
Penulisan ulang mod apache yang diaktifkan (Perintah)
Langkah 5:
Mulai ulang Apache (Perintah)
sumber