Sprache:

Suche

Subdomain-Routen in Laravel für DDD

  • Teilen:
Subdomain-Routen in Laravel für DDD

 

Lesen Sie auch: Struktur Laravel App für DDD

Lesen Sie auch: Pfade in Laravel für DDD

Wenn Sie auf Ihre Routen auf der Grundlage von Subdomains wie product.thewebtier.com/products zugreifen müssen. Um dies zu erreichen, müssen Sie Ihre Routendefinitionen in Laravel ändern und den Webserver so konfigurieren, dass er mit Subdomains umgehen kann.

Ändern Sie Ihre Routendefinitionen

Aktualisieren Sie zunächst Ihre Routendefinitionen, um das Subdomain-basierte Routing in der app/Domain/Product/routes/web.php oder app/Domain/Product/routes/api.php datei.

Lesen Sie auch: Eigenen PHP-Router erstellen

Zum Beispiel, in app/Domain/Product/routes/web.php:

<?php
use App\Domain\Product\Controllers\ProductController;
use Illuminate\Support\Facades\Route;
Route::domain('product.thewebtier.com')->group(function () {
    Route::get('/products', [ProductController::class, 'index'])->name('products.index');
    // Add other product routes here
});

In ähnlicher Weise können Sie Routen für andere Domänen in deren jeweiligen Routendateien definieren.

Konfigurieren Sie Ihren Webserver

Sie müssen Ihren Webserver (z. B. Apache oder Nginx) so konfigurieren, dass er mit Subdomains umgehen kann und diese auf Ihre Laravel-Anwendung verweist.

Nginx-Konfiguration für DDD

Der folgende Beispielcode funktioniert für die Nginx-Konfiguration zum Einrichten des Subdomain-Routings für die Laravel-Anwendung in DDD.

server {
    listen 80;
    server_name product.thewebtier.com;
    root /path/to/laravel/public;
    index index.php index.html index.htm;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    }
    location ~ /\.ht {
        deny all;
    }
}

Apache-Konfiguration für DDD

Für Apache, die Konfiguration des virtuellen Hosts erstellen oder ändern:

<VirtualHost *:80>
    ServerName product.thewebtier.com
    DocumentRoot /path/to/laravel/public
    <Directory /path/to/laravel/public>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Stellen Sie sicher, dass Sie die /path/to/laravel mit dem tatsächlichen Pfad zu Ihrer Laravel-Anwendung.

Konfigurieren Sie Ihr DNS

Fügen Sie einen DNS-Eintrag (A oder CNAME) für die Subdomain hinzu (product.thewebtier.com) und verweisen Sie auf die IP-Adresse oder Domäne Ihres Servers.

Also Read: MySQL backups in Laravel

Lesen Sie auch: MySQL-Sicherungen in Laravel

Nachdem Sie diese Schritte durchgeführt haben, sollten Sie in der Lage sein, auf Ihre Routen zuzugreifen, indem Sie die auf der Subdomain basierende URL verwenden, etwa  product.thewebtier.com/products.

Lesen Sie auch: Livewire Kommentare Laravel

TWT Staff

TWT Staff

Writes about Programming, tech news, discuss programming topics for web developers (and Web designers), and talks about SEO tools and techniques