[yii2] Einfache Möglichkeit, Frontend/Web und Backend/Web zu verstecken

Yii2 bietet die Standard-URL mit Frontend/Web und Backend/Web. In realen Webanwendungen sind solche URL-Darstellungen nicht attraktiv, daher müssen wir in diesem Fall das Frontend/Web aus der URL entfernen oder verbergen.

Es gibt mehrere Möglichkeiten, dies zu tun, im folgenden Beispiel werden wir es auf eine Weise tun:

  1. Verwendung eines virtuellen Hosts
  2. Ändern Sie Yii2

1. Virtueller Host apache

Um das Frontend /web und das Backend/web auf dem Apache auszublenden, können Sie einen virtuellen Host erstellen. Öffnen Sie die Apache-Konfigurationsdatei „…apache\conf\extra\httpd-vhosts.conf“ mit Notepad. Fügen Sie in der letzten Zeile hinzu

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

Bearbeiten Sie dann die Hosts-Datei unter „C:\Windows\System32\drivers\etc\hosts“ mit Notepad und fügen Sie in der letzten Zeile Folgendes hinzu

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

Um die Ergebnisse über den Browser abzurufen, geben Sie die URL-Adresse wie folgt ein:

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

2. Yii2 modifizieren

Der zweite Weg, nämlich das Anlegen von Verzeichnis-Kopien der „assets“und „css“ sowie der „index.php“ Dateien, die sich im Verzeichnis „frontend/web“ befinden, in das Yii-Installations-Stammverzeichnis.

copy to rooot

Öffnen Sie dann die Datei index.php und kopieren Sie den folgenden Code.

<?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();

Um die Ergebnisse über den Browser abzurufen, geben Sie die URL-Adresse „http://localhost/“ in das Yii-Installationsverzeichnis ein, zum Beispiel „http://localhost/yii-advanced“.

Neueste Artikel