Comment rediriger toutes les routes Laravel vers un nouveau sous-domaine à l'aide du système de routage Laravel ?
P粉310931198
P粉310931198 2023-09-02 11:45:56
0
1
499
<p>Redirigez toutes les routes Laravel vers la même route, mais modifiez l'URL de base. </p> <p>Je souhaite déplacer mon projet Laravel d'un domaine à un sous-domaine Quelle est la meilleure façon de rediriger toutes les requêtes du dernier domaine vers le même nouveau sous-domaine. </p> <p>Par exemple, si un utilisateur envoie une requête à cette URL</p> <pre class="brush:php;toolbar:false;">mydomain.com/page/1</pre> <p>Redirection vers cette URL</p> <pre class="brush:php;toolbar:false;">subdomain.mydomain.com/page/1</pre> <p>Je préfère le gérer dans le projet Laravel. Pas une configuration NGINX. </p>
P粉310931198
P粉310931198

répondre à tous(1)
P粉052686710

Pour gérer cela au niveau de Laravel, vous pouvez utiliser un middleware. Le middleware fournit un mécanisme pratique pour inspecter et filtrer les requêtes HTTP entrant dans votre application.

Voici des exemples de la façon dont vous pouvez procéder.

Tout d'abord, créez un nouveau middleware en exécutant la commande suivante :

php artisan make:middleware SubdomainRedirectMiddleware

Ensuite, ouvrez le fichier app/Http/Middleware/SubdomainRedirectMiddleware.php nouvellement créé et ajoutez la logique de redirection à la méthode handle :

public function handle(Request $request, Closure $next)
{
    // Replace 'mydomain' with your actual domain
    if ($request->getHost() === 'mydomain.com') {

        // Replace 'subdomain' with your actual subdomain
        return redirect()->to(str_replace('mydomain.com', 'subdomain.mydomain.com', $request->fullUrl()));
    }

    return $next($request);
}

Ensuite, vous devez enregistrer ce middleware. Ouvrez app/Http/Kernel.php et ajoutez les lignes suivantes au tableau routeMiddleware :

protected $routeMiddleware = [
    'subdomain.redirect' => \App\Http\Middleware\SubdomainRedirectMiddleware::class,
];

Route::group(['middleware' => 'subdomain.redirect'], function () {
    // All your routes go here
});

Please replace 'mydomain' and 'subdomain' with your actual domain and subdomain in SubdomainRedirectMiddleware.php.

▽Ceci est une référence https://www.w3schools.in/laravel/middleware

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal