Wie leite ich alle Laravel-Routen mithilfe des Laravel-Routing-Systems auf eine neue Subdomain um?
P粉310931198
P粉310931198 2023-09-02 11:45:56
0
1
399

Alle Laravel-Routen auf dieselbe Route umleiten, aber die Basis-URL ändern.

Ich möchte mein Laravel-Projekt von der Domain in die Subdomain verschieben Was ist der beste Weg, um alle Anfragen auf der letzten Domain auf dieselbe neue Subdomain umzuleiten?

Wenn ein Benutzer beispielsweise eine Anfrage an diese URL sendet

mydomain.com/page/1

Zu dieser URL weiterleiten

subdomain.mydomain.com/page/1

Ich bevorzuge es, es innerhalb des Laravel-Projekts zu erledigen. Keine NGINX-Konfiguration.

P粉310931198
P粉310931198

Antworte allen (1)
P粉052686710

要在 Laravel 级别处理此问题,您可以使用中间件。中间件提供了一种方便的机制来检查和过滤进入应用程序的 HTTP 请求。

以下是您可以如何执行此操作的示例。

首先,通过运行以下命令创建一个新的中间件:

php artisan make:middleware SubdomainRedirectMiddleware

接下来,打开新创建的文件app/Http/Middleware/SubdomainRedirectMiddleware.php,并将重定向逻辑添加到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); }

然后,你需要注册这个中间件。打开app/Http/Kernel.php,将以下行添加到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.

▽这是一个参考https://www.w3schools.in/laravel/middleware

    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!