1. PHP
  2. Yii Framework

Yii Framework Friendly Url

URL yang menghubungkan berbagai halaman pada aplikasi Yii secara default kurang enak untuk dilihat / tidak ramah pengguna. Artikel ini akan membahas bagaimana membuat Friendly URL di Yii Framework.

Secara default, URL yang dibuat menggunakan format get. Sebagai contoh :

$route='article/view' dan $params=array('id'=>1)

kita akan mendapatkan URL seperti berikut:

https://domain.com/index.php?r=article/view&id=100

Contoh lain :

https://domain.com/index.php?r=site/index
https://domain.com/index.php?r=site/page&view=about

Pada url di atas parameter terlihat dalam string query yang disambung dengan karakter ‘&’, dan parameter r yang menetapkan permintaan rute. Format URL ini tidak ramah-pengguna karena memakai beberapa karakter bukan-kata.

Untuk mengubah URL tersebut Yii telah menyediakan cara pembuatan URL agar URL yang dibuat dapat dimengerti oleh aplikasi. Hal ini dapat dilakukan dengan bantuan CUrlManager.

Untuk menjadikan URL di atas terlihat lebih friendly dan lebih jelas kita dapat mengatur format url menjadi format path sehingga dapat menghasilkan URL seperti ini :

https://domain.com/index.php/article/view/id/100
https://domain.com/index.php/site/index
https://domain.com/index.php/site/page/view/about
array(
    ......
    'components'=>array(
        ......
        'urlManager'=>array(
            'urlFormat'=>'path',
        ),
    ),
);

Ketika path dipakai sebagai format URL, kita dapat menetapkan beberapa aturan URL untuk membuat URL kita bahkan lebih ramah-pengguna. Sebagai contoh, kita dapat membuat URL sesingkat https://domain.com/index.php/article/100, daripada https://domain.com/index.php/article/view/id/100 yang cukup panjang. Aturan URL dipakai oleh CUrlManager baik untuk pembuatan URL maupun keperluan penguraian.

Untuk menetapkan aturan URL, kita harus mengkonfigurasi properti rules pada komponen aplikasi urlManager:

array(
    ......
    'components'=>array(
        ......
        'urlManager'=>array(
            'urlFormat'=>'path',
            'rules'=>array(
                'pattern1'=>'route1',
                'pattern2'=>'route2',
            ),
        ),
    ),
);

Sebagai contoh kita akan merubah URL-URL tersebut menjadi seperti ini :

URL LamaURL Baru
https://domain.com/index.php?r=site/indexhttps://domain.com/index.php
https://domain.com/index.php?r=site/page&view=abouthttps://domain.com/index.php/page/about
https://domain.com/index.php?r=article/view&id=100https://domain.com/index.php/article/100
array(
    ......
    'components'=>array(
        ......
        'urlManager'=>array(
            'urlFormat'=>'path',
            'rules'=>array(
                ''=>'site/index',
                'page/<view:(about|contact|lainnya)>' => 'site/page',
                '<_c:(article)>/<id:\d+>' => '<_c>/view',
            ),
        ),
    ),
);
Comments to: Yii Framework Friendly Url

    Your email address will not be published. Required fields are marked *

    Attach images - Only PNG, JPG, JPEG and GIF are supported.