Yii2 menyediakan url default dengan frontend/web dan backend/web. Dalam aplikasi web sebenarnya, tampilan URL seperti ini tidak menarik, jadi dalam hal ini kita perlu menghapus atau menyembuyikan frontend/web dari URL.
Ada beberapa cara untuk melakukan hal tersebut, dalam contoh di bawah ini kita akan melakukan dengan cara:
- Menggunakan Virtual host
- Memodifikasi Yii2
Artikel Menarik Lainnya
1. Virtual host apache
Untuk meyembunyikan frontend/web dan backend/web pada apache dapat anda lakukan dengan membuat virtual host. Buka file konfigurasi apache “…apacheconfextrahttpd-vhosts.conf” dengan notepad. Tambahkan pada baris terakhir
<VirtualHost *:80> ServerName frontend.bardimin #sesuaikan dengan direktori instalasi yii yang dibuat DocumentRoot "C:/xampp/htdocs/yii2-test/frontend/web/" <Directory "C:/xampp/htdocs/yii2-test/frontend/web/"> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php DirectoryIndex index.php </Directory> </VirtualHost> <VirtualHost *:80> ServerName backend.bardimin #sesuaikan dengan direktori instalasi yii yang dibuat DocumentRoot "C:/xampp/htdocs/yii2-test/backend/web/" <Directory "C:/xampp/htdocs/yii2-test/backend/web"> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php DirectoryIndex index.php </Directory> </VirtualHost>
Kemudian edit file hosts pada “C:WindowsSystem32driversetchosts” dengan notepad dan tambahkan pada baris terakhir
#sesuaikan dengan ServerName seperti di atas 127.0.0.1 frontend.bardimin 127.0.0.1 backend.bardimin
Untuk mengakses hasilnya dari browser ketikkan alamat url sebagai berikut :
– frontend: http://frontend.bardimin/
– backend: http://backend.bardimin/
2. Memodifikasi Yii2
Cara kedua, yaitu dengan membuat salinan direktori dari “assets” dan “css” serta file “index.php” yang ada pada direktori “frontend/web” ke direktori root instalasi yii.
Kemudian buka file index.php dan salin kode berikut ini.
<?php defined('YII_DEBUG') or define('YII_DEBUG', true); defined('YII_ENV') or define('YII_ENV', 'dev'); require(__DIR__ . '/vendor/autoload.php'); require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php'); require(__DIR__ . '/common/config/bootstrap.php'); require(__DIR__ . '/frontend/config/bootstrap.php'); $config = yiihelpersArrayHelper::merge( require(__DIR__ . '/common/config/main.php'), require(__DIR__ . '/common/config/main-local.php'), require(__DIR__ . '/frontend/config/main.php'), require(__DIR__ . '/frontend/config/main-local.php') ); (new yiiwebApplication($config))->run();
Untuk mengakses hasilnya dari browser ketikkan alamat url “http://localhost/” di ikuti direktori instalasi yii, misal “http://localhost/yii-advanced”.