Sebelumnya bagi yang belum mengenal URL itu apa? URL ialah kpendekan dari Uniform Resouce Locator ialah rangkaian karakter menurut suatu format standar tertentu, yang digunakan untuk menunjukkan alamat suatu sumber – seperti documen dan gambar di internet. konsep URL telah dikembangkan menjadi istilah Uniform Resouce Indetifier ( URI ) yang lebih umum sifatnya. walaupun demikian, istilah URL masih tetap digunakan secara luas.

kembali ke codeigniter :-D

secara default penggunaan URL di codeigniter di desain untuk search engine dan human friendly. berbeda dari penggunaan pendekatan “query string” standar untuk URL yang menyamai sistem dinamis, codeigniter menggunana pendekatan segment-based.

sebagai contoh penggunaan segment-based pada codeigniter

www.contoh.com/news/article/my_article

catatan : query string URL juga bisa digunakan pada codeigniter, seperti yang akan di jelasakan berikut.

URI Segment

segmen dalam URL, dalam mengikuti pendekatan Model-View_Controller, biasanya menggambarkan dengan :

www.contoh.com/class/function/ID
  1. pada segment pertama menggambarkan class controller yang akan dipanggil.
  2. pada segmen kedua menggambarkan fungsi class, atau method yang akan dipanggil
  3. pada bagian ketiga dan segment tambahan lain, menggambarkan ID dan variabel lain yang akan dilewatkan ke controller.

kita dapat menggunakan fungsi URI helper dan URL helper untuk memudahkan dalam bekerja dengan URI, URL anda juga dpat di petakan dengan URI routing agar lebih fleksibel.

Menghilangkan file index.php pada URL

secara default, file index.php akan di ikutkan dalam URL

www.contoh.com/index.php/news/article/my_article

anda dapat menghapus file ini dengan penggunaan .htaccess dengan sedikit aturan sedehana. disini ada sebuah contoh penggunaan “negative”method yang mana semua diarahkan kecuali yang spesifik.


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

pada contoh diatas semua request HTTP selain untuk index.php, images, dan robots dianggap sebagai permintaan untuk file index.php

Pemberian akhiran pada URL

dalam file config/config.php anda dapat menambahkan akhiran yang akan ditambahkan untuk semua URL yang digenerate oleh codeigniter. sebagai contoh pada file/config.php


/*
|--------------------------------------------------------------------------
| URL suffix
|--------------------------------------------------------------------------
|
| This option allows you to add a suffix to all URLs generated by CodeIgniter.
| For more information please see the user guide:
|
| http://www.codeigniter.com/user_guide/general/urls.html
*/

$config[‘url_suffix’] = “.html”;
maka pada URL akan ditambahkan dengan akhiran .html

sebelum

www.contoh.com/index.php/products/view/shoes

sesudah

www.contoh./index.php/products/view/shoes.html

Mengaktifkan Query String

dalam beberapa kasus anda mungkin membutuhkan untuk menggunakan query string URL seperti

index.php?c=product&m=view&id=345

codeigniter memiliki kemampuan untuk mendukung pilihan ini, yang aman dapat diaktifkan dalam file config/config.php.


/*
|--------------------------------------------------------------------------
| Enable Query Strings
|--------------------------------------------------------------------------
|
| By default CodeIgniter uses search-engine friendly segment based URLs:
| www.your-site.com/who/what/where/
|
| You can optionally enable standard query string based URLs:
| www.your-site.com?who=me&what=something&where=here
|
| Options are: TRUE or FALSE (boolean)
|
| The two other items let you set the query string "words" that will
| invoke your controllers and its functions:
| www.your-site.com/index.php?c=controller&m=function
|
| Please note that some of the helpers won't work as expected when
| this feature is enabled, since CodeIgniter is designed primarily to
| use segment based URLs.
|
*/
$config['enable_query_strings'] = FALSE;
$config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm';

ubah pada enable_query_strings menjadi TRUE maka fitur ini akan menjadi aktif. pada controller dan function akan dapat diakses dengan menggunakan “trigger” sesuai dengan kata pada setingan untuk pemanggilan controller dan methods.

index.php?c=controller&m=method

Incoming search terms: