[yii2] Maneira fácil de ocultar frontend/web e backend/web

O Yii2 fornece a URL padrão com frontend/web e backend/web. Em aplicativos da Web reais, exibições de URL como essa não são atraentes, portanto, nesse caso, precisamos remover ou ocultar o frontend/web do URL.

Há várias maneiras de fazer isso; no exemplo abaixo, faremos isso de uma maneira:

  1. Uso de um host virtual
  2. Modifique Yii2

1. Host virtual apache

Para ocultar o frontend /web e o backend/web no apache, você pode fazer isso criando um hospedeiro virtual. Abra o arquivo de configuração do apache “…apacheconfextrahttpd-vhosts.conf” com o bloco de notas. Adicione à última linha

<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>

Em seguida, edite o arquivo hosts em “C:\Windows\System32\drivers\etc\hosts” com o bloco de notas e adicione-o à última linha

#sesuaikan with ServerName as above
127.0.0.1 frontend.bardimin
127.0.0.1 backend.bardimin

Para acessar os resultados pelo navegador, digite o endereço de URL da seguinte forma:

Frontend: http://frontend.bardimin/ –
backend: http://backend.bardimin/

2. ModificarYii2

A segunda maneira é criar cópias de diretório dos arquivos “assets” e “css”, bem como dos arquivos “index.php” que existem no diretório “frontend/web” para o diretório raiz da instalação do Yii.

copy to rooot

Em seguida, abra o arquivo index.php e copie o seguinte 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 acessar os resultados pelo navegador, digite o endereço URL “http://localhost/” no diretório de instalação do Yii, por exemplo, “http://localhost/yii-advanced”.

Últimos artigos