Yii2 proporciona la URL por defecto con frontend/web y backend/web. En aplicaciones web reales, URLs como esta no son atractivas, así que, en este caso, necesitamos eliminar u ocultar el frontend/web de la URL.
Hay varias formas de hacerlo, en el ejemplo siguiente lo haremos de una manera:
- Utilizar un host virtual
- Modificar Yii2
1. Host virtual apache
Para ocultar el frontend /web y backend/web en apache puedes hacerlo creando un host virtual. Abre el archivo de configuración de apache «…apacheconfextrahttpd-vhosts.conf» con el bloc de notas. Añade en la última línea
<VirtualHost *:80=""> ServerName frontend.bardimin #sesuaikan with yii installation directories created 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 with yii installation directories created 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>
A continuación, edite el archivo hosts en «C:\Windows\System32\drivers\etc\hosts» con el bloc de notas y añádalo a la última línea
#sesuaikan with ServerName as above 127.0.0.1 frontend.bardimin 127.0.0.1 backend.bardimin
Para acceder a los resultados desde el navegador, escriba la siguiente dirección URL:
Frontend: http://frontend.bardimin/ –
backend: http://backend.bardimin/
Otros artículos interesantes
2. Modificar Yii2
La segunda forma, es decir, creando copias de directorio de «assets» y «css» así como de«index.php»archivos que existen en el directorio «frontend/web» al directorio raíz de la instalación de Yii.
A continuación, abra el archivo index.php y copie el siguiente código.
<?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();
Para acceder a los resultados desde el navegador, escriba la dirección URL «http://localhost/» en el directorio de instalación de Yii, por ejemplo, «http://localhost/yii-advanced».