Yêu cầu thg 3 28, 2023 2:13 SA 219 0 1
  • 219 0 1
0

Redirect 301 trong laravel 8

Chia sẻ
  • 219 0 1

Xin chào mọi người. Mọi người cho mình hỏi chút, mình đang làm 1 website laravel 8. Bây giờ mình muốn redirect 301 link những bài viết của website cũ sang link bài viết mới. Tên miền vẫn giữ nguyên. bạn nào biết hướng dẫn giúp mình cách redirect auto. Cảm ơn các bạn.!

1 CÂU TRẢ LỜI


Đã trả lời thg 3 28, 2023 2:25 CH
Đã được chấp nhận
+2

Để thực hiện redirect 301 trên Laravel 8, bạn có thể sử dụng Route Redirects hoặc Middleware Redirects.

  1. Route Redirects:

Ở file route của bạn:

Route::redirect('/old-url', '/new-url', 301);

Trong đoạn mã trên, /old-url là đường dẫn cũ và /new-url là đường dẫn mới.

Tham số thứ ba là mã HTTP status code, ở đây là 301 (Moved Permanently).

Nếu bạn muốn redirect nhiều đường dẫn cũ, bạn có thể thêm nhiều Route Redirects như sau:

Route::redirect('/old-url-1', '/new-url-1', 301);
Route::redirect('/old-url-2', '/new-url-2', 301);
  1. Middleware Redirects: Tạo một middleware mới bằng câu lệnh artisan:
php artisan make:middleware RedirectOldUrls

Mở file app/Http/Middleware/RedirectOldUrls.php và thêm đoạn mã sau:

<?php

namespace App\Http\Middleware;

use Closure;

class RedirectOldUrls
{
    public function handle($request, Closure $next)
    {
        $redirects = [
            '/old-url-1' => '/new-url-1',
            '/old-url-2' => '/new-url-2',
        ];

        if (array_key_exists($request->getRequestUri(), $redirects)) {
            return redirect($redirects[$request->getRequestUri()], 301);
        }

        return $next($request);
    }
}

Mảng $redirects chứa danh sách đường dẫn cũ và mới của bạn. Nếu đường dẫn yêu cầu được tìm thấy trong mảng $redirects, middleware sẽ redirect nó đến đường dẫn mới với mã HTTP status code 301. Sau đó chỉ cần thêm middleware vào các route cần redirect bằng cách sử dụng phương thức middleware trong file route của bạn là oke.

Chia sẻ
Avatar Mozzz @Moz1
thg 4 1, 2023 6:17 SA
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí