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
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/
Artikel Menarik Lainnya
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”.