Trình kiểm tra chuyển hướng URL

5 trên 2 xếp hạng

Trình kiểm tra chuyển hướng URL là công cụ miễn phí giúp xác định chuyển hướng 301 và 302 của một URL cụ thể, đồng thời lần theo chuỗi chuyển hướng tối đa 10 bước.

Chuyển hướng URL là gì?

Chuyển hướng URL là một phản hồi HTTP yêu cầu trình duyệt, trình thu thập dữ liệu của công cụ tìm kiếm hoặc ứng dụng khách khác truy cập một địa chỉ khác. Phản hồi này thường chứa mã trạng thái 3xx và trường Location có giá trị là một tham chiếu URI, giá trị đó có thể ở dạng tương đối.

Mã trạng thái 301 cho biết tài nguyên đã được chuyển vĩnh viễn. Mã này thường được dùng sau khi thay đổi địa chỉ trang, chuyển từ HTTP sang HTTPS hoặc hợp nhất các URL trùng lặp. Mã trạng thái 302 cho biết tài nguyên được tìm thấy ở nơi khác, nhưng việc chuyển địa chỉ thường được xem là tạm thời.

HTTP cũng quy định các mã chuyển hướng khác, trong đó có 303, 307 và 308. Sự khác biệt giữa các mã có thể ảnh hưởng đến cách ứng dụng khách gửi lại yêu cầu, đặc biệt với các phương thức như POST. Đối với chuyển hướng trang web thông thường, 301 và 302 vẫn được dùng phổ biến, đồng thời đây cũng là hai mã mà công cụ này được thiết kế để xác định.

Làm cách nào để kiểm tra chuyển hướng URL?

Trường Status code yêu cầu một mã trạng thái HTTP, chẳng hạn như 301 hoặc 302. Công cụ kiểm tra hoạt động trên máy chủ và kiểm tra tối đa 10 bước chuyển hướng.

Dữ liệu bạn nhập được truyền đến máy chủ qua HTTPS và không được lưu trữ.

Công cụ xác định được những loại chuyển hướng nào?

Công cụ xác định các chuyển hướng 301 và 302. Mã 301 biểu thị chuyển hướng vĩnh viễn, còn mã 302 biểu thị chuyển hướng tạm thời.

Một chuỗi liên tục chuyển qua lại giữa hai địa chỉ là vòng lặp chuyển hướng. Một chuỗi dài chuyển đổi giữa HTTP, HTTPS, www, không có www và các biến thể có hoặc không có dấu gạch chéo cuối URL là chuỗi chuyển hướng. Công cụ này dừng sau tối đa 10 bước, vì vậy không thể xác định đích cuối cùng của một chuỗi dài hơn.

Cách xử lý các lỗi chuyển hướng thường gặp

Kiểm tra chuyển hướng rất hữu ích khi địa chỉ cuối cùng trên trình duyệt che khuất các phản hồi trung gian. Việc này giúp phân biệt lỗi cấu hình HTTP với sự cố liên quan đến DNS, ứng dụng hoặc bộ nhớ đệm.

  • Trang đã di chuyển nhưng vẫn mở ở địa chỉ cũ. Hãy kiểm tra trực tiếp URL cũ. Chuyển hướng 301 phải trỏ đến trang thay thế dự kiến, thay vì một trang chủ chung chung hoặc một địa chỉ cũ khác.
  • HTTP và HTTPS liên tục chuyển đổi qua lại. Hãy kiểm tra cả hai phiên bản. Các quy tắc xung đột trên máy chủ web, mạng phân phối nội dung hoặc ứng dụng có thể chuyển HTTPS về HTTP, trong khi một lớp khác lập tức đảo ngược chuyển hướng đó.
  • Liên kết trong email không mở đúng trang đích. Hãy kiểm tra toàn bộ URL được sao chép từ thư, bao gồm cả chuỗi truy vấn. Dịch vụ theo dõi thường thêm một hoặc nhiều lần chuyển hướng trước trang cuối cùng. Nếu một đích trung gian bị lỗi, chuỗi chuyển hướng có thể dừng lại.

Khi chuyển tên miền, hãy kiểm tra các đường dẫn trang tiêu biểu thay vì chỉ kiểm tra trang chủ. Trang chủ chuyển hướng đúng không có nghĩa là các trang sản phẩm, bài viết và tệp đã tải lên cũng có quy tắc trỏ đến đích tương ứng.

Dấu câu và khoảng trắng cũng rất quan trọng. Khoảng trắng thô không hợp lệ trong URL và thường phải được mã hóa phần trăm, chẳng hạn như %20. Phân mảnh bắt đầu bằng # được trình duyệt xử lý và không được gửi trong yêu cầu HTTP, vì vậy chỉ thay đổi phân mảnh sẽ không chọn một chuyển hướng khác ở phía máy chủ. Tên miền quốc tế hóa có thể được biểu diễn bằng dạng Punycode ASCII, còn các ký tự không thuộc ASCII trong đường dẫn được mã hóa thành byte, thường bằng UTF-8, sau đó các byte tương ứng được mã hóa phần trăm khi truyền.

Vì sao chuyển hướng đúng nhưng kết quả vẫn có vẻ sai?

Một chuyển hướng đúng vẫn có thể trông như bị lỗi vì trình duyệt, trình phân giải DNS, máy chủ proxy và mạng phân phối nội dung có thể sử dụng thông tin trong bộ nhớ đệm. Chuyển hướng vĩnh viễn đặc biệt dễ tiếp tục xuất hiện trong bộ nhớ đệm của trình duyệt sau khi quy tắc trên máy chủ đã thay đổi.

Công cụ kiểm tra phía máy chủ không dùng chung lịch sử chuyển hướng cục bộ của trình duyệt, mặc dù trang web đích hoặc CDN của trang đó vẫn có thể trả về phản hồi được lưu trong bộ nhớ đệm.

Thay đổi DNS gây ra một độ trễ riêng. Trình phân giải đệ quy có thể giữ lại địa chỉ IP cũ cho đến khi thời gian tồn tại của bản ghi hết hạn. Trong thời gian đó, các mạng khác nhau có thể truy cập những máy chủ khác nhau và nhận các quy tắc chuyển hướng khác nhau. Cụm từ "DNS propagation" mô tả việc bộ nhớ đệm hết hạn không đồng đều này, chứ không phải một sự kiện cập nhật đồng thời trên toàn thế giới.

Nếu tên miền mới được chuyển gần đây, hãy đối chiếu bản ghi DNS, cấu hình CDN và các quy tắc trên máy chủ gốc. Trình kiểm tra bộ nhớ đệm Google có thể cung cấp thêm thông tin về phiên bản cũ của trang từng được lập chỉ mục hoặc lưu trong bộ nhớ đệm, còn Trình kiểm tra lưu trữ trang web có thể giúp xác định tên miền hiện dường như được lưu trữ ở đâu. Cả hai đều không thay thế việc kiểm tra chuyển hướng HTTP.

Câu hỏi thường gặp

Có thể thay đổi chuyển hướng 301 sau này không?

Có. Bạn có thể thay đổi cấu hình máy chủ, nhưng ứng dụng khách có thể tiếp tục sử dụng phản hồi 301 đã lưu trong bộ nhớ đệm một thời gian. Hãy kiểm tra bằng hồ sơ trình duyệt mới và xóa các bộ nhớ đệm CDN liên quan nếu bạn có quyền kiểm soát. Tránh dùng 301 trong giai đoạn thử nghiệm ban đầu nếu đích đến vẫn có khả năng thay đổi.

Chuyển hướng có giữ lại chuỗi truy vấn của URL không?

Chỉ khi quy tắc chuyển hướng và giá trị Location do quy tắc đó tạo ra giữ lại chuỗi truy vấn. Một số hệ thống tự động sao chép chuỗi truy vấn ban đầu, trong khi các hệ thống khác thay thế hoặc xóa chuỗi này. Hãy kiểm tra bằng một URL thực tế có chứa các tham số thử nghiệm an toàn, thay vì cho rằng mọi biến thể đều hoạt động giống nhau.

Dữ liệu tôi nhập được xử lý như thế nào?

Quá trình kiểm tra được thực hiện trên máy chủ. Dữ liệu bạn nhập được truyền đến máy chủ qua HTTPS và không được lưu trữ.

Công cụ có kiểm tra chuyển hướng bằng JavaScript hoặc meta refresh không?

Công cụ xác định các chuyển hướng HTTP 301 và 302, đồng thời kiểm tra tối đa 10 lần chuyển hướng.

Tôi có thể kiểm tra chuyển hướng bằng dòng lệnh không?

Có. Lệnh curl có thể hiển thị các tiêu đề phản hồi, còn tùy chọn đi theo chuyển hướng của lệnh này có thể yêu cầu các địa chỉ tiếp theo. Cách này hữu ích khi bạn cần thực hiện các lần kiểm tra có thể lặp lại từ một máy hoặc mạng cụ thể, đặc biệt sau khi thay đổi quy tắc DNS hoặc tường lửa.

Công cụ phổ biến