Kami sering mendapatkan pertanyaan tentang kendala akses ke halaman website berbasis CodeIgniter, setelah web selesai diupload ke hosting. Kendala ini sering disebabkan karena file htaccess CodeIgniter belum dibuat atau lupa diupload. Lalu apa sebenarnya file htaccess itu dan bagaimana cara membuatnya?
Sering kali pelanggan lupa mengupload atau membuat file .htaccess setelah selesai upload file CodeIgniter. Hal ini menyebabkan halaman port atau login dengan link tertentu yang bukan link utama akan gagal akses. Pesan error yang sering muncul adalah 404 not found.
Karena itu, kami akan menjelaskan apa itu htaccess dan memberi contoh default file htaccess CodeIgniter. Berikut informasi selengkapnya.
Apa itu htaccess?
.htaccess adalah file text sederhana dalam format ASCII. Pada umumnya, file .htaccess digunakan untuk konfigurasi permalink hingga konfigurasi tertentu pada web server apache. File ini akan memberikan dampak pada seluruh folder dan subfolder yang akan di load oleh Apache Server.
File .htaccess bisa dibilang sangat penting, karena jika dari sebuah website tidak mempunyai file ini pada direktori website nya, hal yang sering terjadi adalah munculnya pesan error. Pesan error yang biasanya sering muncul adalah 403 Forbidden, 404 Not Found hingga 500 Internal Server Error.
htaccess CodeIgniter
Berikut ini adalah default file .htaccess pada Framework CodeIgniter :
<IfModule mod_rewrite.c>
RewriteEngine On
# !IMPORTANT! Set your RewriteBase here and don't forget trailing and leading
# slashes.
# If your page resides at
# http://www.example.com/mypage/test1
# then use
# RewriteBase /mypage/test1/
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
# If we don't have mod_rewrite installed, all 404's
# can be sent to index.php, and everything works as normal.
ErrorDocument 404 /index.php
</IfModule>
Cara membuat htaccess codeigniter di hosting
Untuk menambahkan file .htaccess dengan melalui cara sebagai berikut :
- Login cPanel hosting .
- Klik menu File Manager, kemudian ke directory public_html.
- Pada menu di kiri atas, pilih New File kemudian isikan dengan nama “.htaccess” tanpa tanda kutip.
4. Setelah membuat file baru, kemudian klik kanan pada file .htaccess lalu Edit.
5. Lalu masukkan script default .htaccess diatas pada file yang baru saja di buat, selanjutnya klik Save Changes.
Kasus “No input file specified” pada CodeIgniter
sering disebabkan karena kode .htaccess yang digunakan belum tepat. Pada kasus yang sering ditemui setting .htaccess yang digunakan seperti berikut :
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
Untuk memperbaikinya Anda cukup melakukan penambahan tanda ? setelah index.php yang ada pada kode .htaccess diatas menjadi seperti berikut :
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
Setelah penyesuaian diatas, akses ke halaman-halaman / menu pada codeigniter yang Anda gunakan seharusnya sudah dapat berfungsi dengan baik.
Demikian panduan tentang menambahkan script default .htaccess codeigniter. Jika Anda mengalami kendala atau kesulitan, silahkan hubungi bagian teknis kami melalui email ke teknis[at]rumahweb.com.