Untuk menghilangkan index.php dan ?r=site/index.php dan yang semacamnya pada url, kita perlu memodifikasi .htaccess dan web.php.
1. Buat .htaccess seperti ini dan simpan di dalam direktori web.
1 2 3 4 5 6 |
RewriteEngine on # If a directory or a file exists, use it directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # Otherwise forward it to index.php RewriteRule . index.php |
2. Di main.php, di dalam array components tambahkan urlManager seperti ini :
1 2 3 4 5 6 7 8 9 10 11 |
'components' => [ 'urlManager' => [ 'class' => 'yii\web\UrlManager', // Disable index.php 'showScriptName' => false, // Disable r= routes 'enablePrettyUrl' => true, 'rules' => array( ), ], |
Untuk menghilangkan index.php, showScriptName diset false. Untuk menghilangkan route ‘r’, enablePrettyUrl diset true.
Lakukan hal ini pada frontend dan backend.