Url saya saat ini terlihat seperti ini [mysite]index.php/[rest of the slug]
.
Saya ingin melepas index.php
dari url ini.
mod_rewrite
diaktifkan di server apache2 saya. Di config
,$config['index_page'] = '';
.htaccess
File root codeignitor saya berisi,
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
Tapi tetap saja tidak berhasil. Di mana saya salah?
php
.htaccess
codeigniter
apache2
Nihar Sarangi
sumber
sumber
Jawaban:
Coba yang berikut ini
Buka config.php dan lakukan penggantian berikut
untuk
Dalam beberapa kasus, pengaturan standar untuk
uri_protocol
tidak berfungsi dengan benar. Ganti sajaoleh
.htaccess
Catatan: .htaccess code bervariasi tergantung pada server hosting. Di beberapa server hosting (mis: Godaddy) perlu menggunakan tambahan? pada baris terakhir dari kode di atas. Baris berikut akan diganti dengan baris terakhir dalam kasus yang berlaku:
sumber
RewriteRule ^(.*)$ index.php/$1 [L]
Tapi saya masih bisa melihat halaman dengan domain.com/about-us, domain.com/index.php/about-us dan domain.com/index.php?/about-us yang menghasilkan Kesalahan SEO yaitu tag judul duplikat dan deskripsi meta duplikat$_POST
atauisset($_POST)
tidak berfungsi setelah menambahkan ini.Langkah: -1 Buka folder "application / config" dan buka file "config.php". temukan dan ganti kode di bawah ini dalam file config.php.
Langkah: -2 Buka folder CodeIgniter Anda dan buat .htaccess
Langkah: -3 Tulis kode di bawah ini dalam file .htaccess
Langkah: -4 Dalam beberapa kasus pengaturan default untuk uri_protocol tidak berfungsi dengan baik. Untuk mengatasi masalah ini cukup buka file "application / config / config.php", lalu cari dan ganti kode di bawah ini
Itu semua tetapi di server wamp tidak berfungsi karena rewrite_module secara default dinonaktifkan sehingga kita harus mengaktifkannya. untuk ini lakukan hal berikut
Dokumentasi Asli
Contoh Tautan
sumber
Langkah 1 :
Tambahkan ini dalam file htaccess
Langkah 2 :
Hapus index.php dalam konfigurasi codeigniter
Langkah 3:
Izinkan mengganti htaccess di Konfigurasi Apache (Perintah)
dan edit file & ubah ke
untuk folder www
Langkah 4:
Diaktifkan apache mod rewrite (Command)
Langkah 5:
Restart Apache (Command)
sumber
menggunakan
jika Anda memiliki url di situs pesanan ini.com/index.php/class/method/id
sumber
RewriteRule .* index.php/$1 [PT,L]
- ini tidak akan melewati jalur URL kecuali Anda mengubahRewriteRule
pola dari.*
menjadi(.*)
. Namun, jika Anda menggunakan$config['uri_protocol'] = 'REQUEST_URI';
maka ini tidak relevan.sumber
pada htaccess Anda gunakan ini,
Semoga ini membantu.
sumber
Ada dua langkah:
1) Edit config.php
Untuk
2) Buat / Edit file .htaccess
sumber
buat
.htaccess
file dan masukkan kode iniperubahan
hapus
index.php
hadir dalamconfig.php
filesumber
1.Buat file baru .htaccess pada direktori root.
2. Buka file config.php Anda dan ubah dari
$config['index_page'] = 'index.php'
menjadi$config['index_page'] = ''
sumber
Selesaikan dengan 2 langkah.
sumber
coba yang satu ini. Mungkin bisa membantu kamu karena berfungsi untukku.
letakkan kodenya di file root htaccess Anda. dan pastikan sudah
dalam file konfigurasi Anda.
Tolong beri tahu saya jika Anda menghadapi masalah.
sumber
Silakan tonton video ini untuk referensi https://www.youtube.com/watch?v=HFG2nMDn35Q
sumber
Yah semua jawaban ini baik tetapi untuk pemula (yang pertama kali melakukan) ini membingungkan. Ada file htaccess lain yang berada di controller tetapi kita harus mengedit atau menambahkan htaccess di folder proyek utama.
Ini adalah folder codeigniter Anda, tempat file berada seperti aplikasi, sistem, aset, unggahan dll.
Ubah file ini seperti yang tertulis di bawah ini:
dan ya tentu saja Anda perlu mengubah dua baris kode di aplikasi / config / config.php
sumber
Baik pengembangan dan produksi
sumber
pertama-tama Anda harus menggunakan mesin tulis ulang server apache on. tautan ini akan membantu Anda untuk itu
http://www.anmsaiful.net/blog/php/enable-apache-rewrite-module.html
ini akan menjadi file .htaccess Anda. sekarang cobalah. Pengaturan ini bekerja untuk saya.
sumber
Anda dapat pergi ke file config \ config.php dan menghapus nilai index.php dari variabel ini
buat file .htaccess dan rekatkan kode ini di dalamnya.
peluang bagus
sumber
sumber
Hanya tiga langkah yang diperlukan untuk menghapus index.php dari url di Codeigniter
1) Buat file .htacess secara paralel dengan pemegang aplikasi dan cukup salin melewati kode berikut:
2) Ubah $ config ['index_page'] menjadi blank in config.php di folder aplikasi seperti di bawah ini:
3) Aktifkan "rewrite_module" dari apache.
Mulai ulang apache Anda dan selesai.
Detail: http://sforsuresh.in/removing-index-php-from-url-of-codeigniter-in-wamp/
sumber
Saya pikir semua pengaturan Anda baik tetapi Anda lakukan untuk salah menempatkan file htaccess Anda dan menambahkan htaccess Anda ke file proyek Anda
project_folder-> htaccess
dan tambahkan kode ini ke htaccess Anda
sumber
Anda dapat pergi ke file aplikasi \ config \ config.php dan menghapus index.php
Mengubah
sumber
coba RewriteEngine On ini
sumber
Ini bekerja untuk saya. Diuji dalam codeigniter 3.1.11, PHP 5.6.40 Saya menggunakan virtualhost di konfigurasi apache2 saya di server pengujian.
Dan /.htaccess konten
sumber
Ikuti langkah ini masalah Anda akan terpecahkan
1- Unduh file .htaccess dari sini https://www.dropbox.com/s/tupcu1ctkb8pmmd/.htaccess?dl=0
2- Ubah nama direktori CodeIgnitor pada Baris # 5. seperti nama direktori saya abc (tambahkan nama Anda)
3 - Simpan file .htaccess pada direktori utama (abc) folder codeignitor Anda
4- Ubah uri_protocol dari AUTO ke PATH_INFO dalam file Config.php
Catatan: Pertama-tama Anda harus mengaktifkan mod_rewrite dari httpd.conf dari apachi dengan menghapus komentar
sumber
Gunakan kode ini. Ubah baris ke-2 saat Anda memiliki nama folder Anda. Di mana aplikasi index.php dan folder, folder sistem terletak. Sebagian besar masalah terjadi karena baris kedua. kami tidak mengonfigurasi nama folder tempat proyek berada. Penting adalah baris kedua. Ini mudah untuk menghapus index.php. RewriteEngine di RewriteBase / project_folder_name RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D RewriteRule. * Index.php / $ 0 [PT, L]
Buka file controller / config.php.
config ['index_url'] = '';
Referensi untuk studi lebih lanjut.
https://ellislab.com/expressionengine/user-guide/urls/remove_index.php.html
https://ellislab.com/blog/entry/fully-removing-index.php-from-urls
sumber
Selain jawaban-jawaban ini, orang dapat saja, menambahkan index.php atau mengeditnya (jika sudah ada) - untuk keamanan Anda ingin menonaktifkan index.php, dari daftar file di direktori situs web Anda - kemudian ubah konten menjadi
sumber
Hal kecil: (Opsional)
Satu hal penting untuk diperhatikan:
Skrip file vhosts saya: (Sebelumnya)
Skrip file vhosts saya: (Setelah)
Saya menghadapi masalah yang sama, berjuang selama sekitar 1 hari, semua baik-baik saja. Kemudian, dengan metode coba-coba, ditemukan benda ini. Setelah menghapus ini, pekerjaan saya selesai. URL sekarang tidak mencari index.php :)
sumber
jika semua solusi di atas tidak berfungsi maka di folder proyek Anda mereka akan dua file index.html dan index.php, ganti nama index.html ke index_1.html dan jelajahi proyek Anda.
sumber
Perhatikan perbedaannya dengan menambahkan "?" karakter setelah ".php", terutama ketika berhadapan dengan CodeIgniter:
vs.
Tergantung pada beberapa hal lain .. jika tidak berhasil, coba opsi lain!
sumber
Anda dapat menghapus index.php dari url dengan menempatkan beberapa kode di .htaccess
Jalur file: root> .htacess
Semoga ini berhasil.
sumber
Dalam CodeIgniter 3.16 dalam menggunakan htaccess untuk
& juga
Ikuti kodenya:
application\config\config.php
fileMembuat perubahan
Untuk
sumber