Bagaimana untuk mengubah hala semua laluan Laravel ke subdomain baharu menggunakan sistem penghalaan Laravel?
P粉310931198
P粉310931198 2023-09-02 11:45:56
0
1
532
<p>Ubah hala semua laluan Laravel ke laluan yang sama, tetapi tukar URL asas. </p> <p>Saya mahu mengalihkan projek Laravel saya dari domain ke subdomain Apakah cara terbaik untuk mengubah hala semua permintaan pada domain terakhir ke subdomain baharu yang sama. </p> <p>Sebagai contoh, jika pengguna menghantar permintaan ke URL ini</p> <pre class="brush:php;toolbar:false;">mydomain.com/page/1</pre> <p>Ubah hala ke URL ini</p> <pre class="brush:php;toolbar:false;">subdomain.mydomain.com/page/1</pre> <p>Saya lebih suka mengendalikannya di dalam projek Laravel. Bukan konfigurasi NGINX. </p>
P粉310931198
P粉310931198

membalas semua(1)
P粉052686710

Untuk mengendalikan perkara ini di peringkat Laravel, anda boleh menggunakan perisian tengah. Middleware menyediakan mekanisme yang mudah untuk memeriksa dan menapis permintaan HTTP yang memasuki aplikasi anda.

Berikut ialah contoh cara anda boleh melakukannya.

Mula-mula, cipta perisian tengah baharu dengan menjalankan arahan berikut:

php artisan make:middleware SubdomainRedirectMiddleware

Seterusnya, buka apl fail/Http/Middleware/SubdomainRedirectMiddleware.php yang baru dibuat dan tambah logik ubah hala pada kaedah pemegang:

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);
}

Kemudian, anda perlu mendaftar middleware ini. Buka app/Http/Kernel.php dan tambahkan baris berikut pada tatasusunan 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.

▽Ini adalah rujukan https://www.w3schools.in/laravel/middleware

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan