Skip to main content

Problem .htaccess sesuai standar dokumentasi.... (sharing gak penting)

October 17, 2010 by cahndeso

cahndeso's picture

Selamat malam...
Salam kenal...

Mungkin ini tidak bisa disebut tutorial, karena memang cukup singkat... lebih tepat mungkin disebut share aja lah ya... barangkali berguna buat teman-teman yang mengalami kondisi yang sama dengan saya, yaitu menggunakan PHP versi 5.2.11. (yang digunakan di hosting saya). ada juga yang melaporkan kejadian yang sama ketika menggunakan PHP versi 5.3.

Singkat cerita, beberapa waktu yang lalu saya mulai mencoba CI.. dan karena saya pengin coba langsung di mesin tempat hosting, maka tanpa pikir panjang langsung upload. Pada dokumentasi mengenai "Removing the index.php file" kita diminta untuk membuat file .htaccess yang isinya seperti berikut:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

Ok.. file .htaccess saya buat dan upload. Juga saya tambahkan sebuah function di controller welcome yang isinya kurang lebih seperti berikut:

function kontak() {
echo "Halaman Kontak";
}

Dan begitu diakses http://localhost/welcome/kontak
halaman yang diinginkan muncul dengan baik.

tapi ketika diakses http://tempathosting.com kok malah muncul... No Input File Specified...

Nah.. lho.. kok beda dengan yang di lokal.. dicoba utak-utik tetap belum berhasil...

Akhirnya saya coba cari solusinya di google... termasuk masuk ke forum CI dan disana akhirnya ketemu solusinya. mungkin teman-teman sudah sering ke sana.

Ada beberapa kombinasi yang telah saya coba, akhirnya yang berikut ini kemudian memberikan solusi untuk kasus saya. berikut adalah isi file .htaccess yang baru..

RewriteEngine On
RewriteBase /

#Removes access to the system folder by users.
#Additionally this will allow you to create a System.php controller,
#previously this would not have been possible.
#'system' can be replaced if you have renamed your system folder.
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

#When your application folder isn't in the system folder
#This snippet prevents user access to the application folder
#Rename 'application' to your applications folder name.
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

#Checks to see if the user is attempting to access a valid file,
#such as an image or css document, if this isn't true it sends the
#request to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]

setelah file .htaccess diganti isinya dengan baris-baris diatas ternyata controller welcome/kontak bisa berjalan sesuai yang diharapkan.

Semoga berguna...

Comments

hm... bro bisa jelasin baris

March 27, 2011 by zawaruddin, 7 weeks 1 day ago
Comment: 7847

zawaruddin's picture

hm... bro bisa jelasin baris per baris g???
ane jg lg bingung masalah htaccess nih...

Mantap ..

October 26, 2010 by fanjava, 28 weeks 6 days ago
Comment: 7294

fanjava's picture

Nice info...mantap gan..
Lanjutkan :)

Premium Drupal Themes by Adaptivethemes