Nội dung

    Phản hồi máy chủ 301 Moved Permanently

    Định nghĩa và mục đích của mã 301

    Mã trạng thái HTTP 301 (Moved Permanently) là một trong những mã quan trọng được sử dụng để quản lý việc chuyển hướng URL trên các trang web. Mã này chỉ ra rằng tài nguyên được yêu cầu đã được chuyển đến một địa chỉ mới một cách vĩnh viễn.

    301 - Moved Permanently

    Sử dụng mã 301 có hai mục đích chính:

    • Tối ưu hóa SEO: Chuyển hướng mã 301 giúp duy trì giá trị SEO của trang cũ, chuyển nó sang trang mới.
    • Trải nghiệm người dùng: Người dùng sẽ được tự động chuyển đến trang mới mà không gặp phải lỗi 404.

    Ví dụ thực tiễn về việc sử dụng

    Mã 301 có thể được sử dụng trong nhiều tình huống khác nhau:

    1. Chuyển hướng trang web cũ sang trang mới: Khi một trang web được tái cấu trúc và có một URL mới.
    2. Thay đổi cấu trúc URL để cải thiện khả năng đọc: Ví dụ, chuyển từ example.com/product?id=123 sang example.com/san-pham/123.
    3. Sát nhập nhiều trang thành một: Nếu có nhiều trang sản phẩm tương tự, có thể hợp nhất chúng và chuyển hướng các URL cũ đến trang mới.

    Các lỗi liên quan đến mã 301

    Có một số lý do phổ biến dẫn đến lỗi khi chuyển hướng mã 301:

    • URL mới không chính xác hoặc không tồn tại.
    • Các quy tắc chuyển hướng không được cấu hình đúng trong tệp .htaccess hoặc máy chủ.

    Để kiểm tra xem chuyển hướng đã được thiết lập đúng hay chưa, bạn có thể sử dụng các công cụ như cURL hoặc các công cụ kiểm tra HTTP status code trực tuyến.

    Sửa lỗi mã 301 trong các ngôn ngữ lập trình khác nhau

    PHP

    Để thiết lập chuyển hướng trong PHP, bạn có thể sử dụng hàm header(). Dưới đây là một ví dụ:

    header("Location: https://new-url.com", true, 301);

    Để xử lý lỗi khi chuyển hướng, bạn nên kiểm tra xem URL mới có tồn tại hay không trước khi thực hiện chuyển hướng.

    Python

    Trong Flask hoặc Django, bạn có thể thiết lập chuyển hướng như sau:

    return redirect("https://new-url.com", code=301)

    Xử lý lỗi và ngoại lệ cũng rất quan trọng để đảm bảo người dùng không gặp phải trang lỗi.

    JavaScript

    Với Node.js và Express, bạn có thể thực hiện chuyển hướng bằng cách:

    res.redirect(301, "https://new-url.com");

    Đảm bảo xử lý lỗi và kiểm tra chuyển hướng trước khi triển khai.

    Khuyến nghị khi sử dụng mã 301

    Khi nào nên sử dụng mã 301 và khi nào nên sử dụng các mã trạng thái khác:

    • Sử dụng mã 301 khi bạn chắc chắn rằng tài nguyên đã được chuyển vĩnh viễn.
    • Tránh sử dụng mã 301 cho các chuyển hướng tạm thời; trong trường hợp đó, mã 302 nên được sử dụng.

    Đảm bảo kiểm tra các chuyển hướng để không làm ảnh hưởng đến SEO và việc lập chỉ mục của trang.

    Lời khuyên bổ sung về việc kiểm tra chuyển hướng

    Có nhiều công cụ và phương pháp để kiểm tra trạng thái 301:

    • Sử dụng cURL để xác minh mã trạng thái trả về.
    • Kiểm tra với Google Search Console để đảm bảo các công cụ tìm kiếm đã lập chỉ mục đúng các URL mới.
    Mã trạng thái Mô tả Sử dụng
    301 Moved Permanently Chuyển hướng vĩnh viễn
    302 Found Chuyển hướng tạm thời
    404 Not Found Tài nguyên không tồn tại