


Wie kann man Frontend- und Backend-Pfade in erweiterten Yii2-Anwendungen vollständig ausblenden?
Yii2 Frontend- und Backend-Pfade vollständig ausblenden
Das Problem verstehen
Yii2s erweiterte Anwendungsvorlage erstellt Frontend- und Backend-Abschnitte in separaten Verzeichnissen. Standardmäßig erscheinen diese Verzeichnisse in URLs, was für eine saubere und professionell aussehende Präsentation unerwünscht sein kann. Dieser Artikel soll Ihnen dabei helfen, diese Verzeichnisse vollständig auszublenden.
Schritt-für-Schritt-Anleitung
1. Root-.htaccess-Konfiguration
Erstellen Sie im Stammverzeichnis des Projekts (z. B. advanced/) eine .htaccess-Datei und fügen Sie den folgenden Code ein:
Options +FollowSymlinks RewriteEngine On # Redirect admin requests to backend/web RewriteCond %{REQUEST_URI} ^/(admin) RewriteCond %{REQUEST_URI} !^/backend/web/(assets|css)/ RewriteRule ^.*$ backend/web/index.php [L] # Redirect all other requests to frontend/web RewriteCond %{REQUEST_URI} !^/(frontend|backend)/web/(assets|css)/ RewriteCond %{REQUEST_URI} !index.php RewriteCond %{REQUEST_FILENAME} !-f [OR] RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^.*$ frontend/web/index.php
2. Komponente anfordern
Erstellen Sie eine Datei „components/Request.php“ im gemeinsamen Verzeichnis und fügen Sie den folgenden Code hinzu:
<code class="php">namespace common\components; class Request extends \yii\web\Request { public $web; public $adminUrl; public function getBaseUrl(){ return str_replace($this->web, "", parent::getBaseUrl()) . $this->adminUrl; } public function resolvePathInfo(){ if($this->getUrl() === $this->adminUrl){ return ""; }else{ return parent::resolvePathInfo(); } } }</code>
3. Konfigurieren von Frontend- und Backend-Anwendungen
Ändern Sie in frontend/config/main.php und backend/config/main.php die Anforderungs- und URLManager-Komponenten wie folgt:
frontend /config/main.php
<code class="php">'request' => [ 'class' => 'common\components\Request', 'web' => '/frontend/web' ], 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false ]</code>
backend/config/main.php
<code class="php">'request' => [ 'class' => 'common\components\Request', 'web' => '/backend/web', 'adminUrl' => '/admin' ], 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false ]</code>
Optionaler Schritt 4 (falls vorherige Schritte Fehlgeschlagen)
Erstellen Sie eine .htaccess-Datei im Webverzeichnis und fügen Sie den folgenden Code hinzu:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php?/ [L]
Ergebnis
Nach der Bewerbung Nach diesen Änderungen können Sie unter http://localhost/yii2app und http://localhost/yii2app/admin auf Ihre Website zugreifen, ohne dass Frontend- oder Backend-Pfade in den URLs erscheinen.
Das obige ist der detaillierte Inhalt vonWie kann man Frontend- und Backend-Pfade in erweiterten Yii2-Anwendungen vollständig ausblenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PhparrayShandledatacollectionSeffictionlyusingInedorassociativestruationen;

$ _Cookieisaphpsuperglobalfor AccessingcookieStbytheBrowser; CookiesAresetusingsetcookie () vor dem Output, Readvia $ _cookie ['name'], aktualisiert Byresending mit den Sekton, mit SCURITYBESTPRACTICING, MIT SECURITYBESTPRACTICICING, MIT SECURITYBESTPRECTICE

Dieses Tutorial enthält detaillierte Anweisungen zum Hinzufügen einer Schaltfläche "Anführungszeichen senden" in WordPress in einer benutzerdefinierten Artikel -Typ -Liste. Nach dem Klicken wird ein benutzerdefiniertes HTML -Formular mit der Artikel -ID angezeigt, und die Formulardaten sind AJAX -Einreichungs- und Erfolgsnachrichtenanzeigen. Der Inhalt deckt Front-End-JQuery UI-Popup-Einstellungen, dynamische Datenübertragung, AJAX-Anforderungsverarbeitung sowie Back-End-WordPress-AJAX-Hook- und Datenverarbeitung-PHP-Implementierung ab, um vollständige Funktionen, sichere und gute Benutzererfahrungen zu gewährleisten.

UseInterfacestodeFineContractsfornrelatedCläses und sicherstellen, dass es sich um die Kenntnisse handelt

TheobserverdesignPatternNenableAtomaticnotificationOfDependentObjectSwhenasubjectsSstatechanges.1) itdefinesaon-to-ManyDependencyBetobjects; 2) thesubjectmaintainSalistoBoBserverSandnotifiesthemviaAcommonNection;

In diesem Tutorial wird das Listenelement jedes benutzerdefinierten Beitragstyps (z. B. "Immobilien") in WordPress und ein benutzerdefiniertes HTML -Formular mit einer bestimmten Post -ID angezeigt, nachdem nach dem Klicken auf darauf geklickt wird. Der Artikel behandelt das Erstellen modaler Popups mithilfe des Jquery UI -Dialogfelds, übergeben Sie die Artikel -ID dynamisch über Datenattribute und verwenden den WordPress -AJAX -Mechanismus, um die asynchrone Einreichung von Formularen zu implementieren, während die Datei -Uploads verarbeitet und die Einreichungsergebnisse angezeigt werden.

B-treeIndexesarebestFormOstPhpapplications, als Theysupportequality und RangeQueries, Sorting und saridealforcolumnSusedinwhere, Join, ORORDBYCLAUSS;

Dieses Tutorial enthält detaillierte Anweisungen zur Implementierung eines Pop-up-Einreichungsformulars in WordPress für eine eigenständige Taste für jeden benutzerdefinierten Beitrag (z. B. den Typ "Immobilien"). Wir werden JQuery UI Dialog verwenden, um modale Felder zu erstellen und die Artikel -ID über JavaScript dynamisch zu übergeben. Darüber hinaus wird das Tutorial über die Übermittlung von Formulardaten über AJAX und die Verarbeitung von Backend -Logik behandeln, ohne die Seite zu aktualisieren, einschließlich Dateien -Uploads und Ergebnis -Feedback.
