Lỗi HTTP 302 là gì & Cách khắc phục? [4 Phương pháp thử nghiệm đã giải thích]

Bất cứ khi nào chúng tôi phải thực hiện chuyển hướng 302, các câu hỏi tương tự thường xuất hiện.


Dưới đây là một số câu hỏi:

  1. Trang web của tôi đã sẵn sàng cho nó chưa?
  2. Loại chuyển hướng nào là phù hợp nhất cho trường hợp của tôi?
  3. Tôi sẽ mất tất cả các công việc SEO tôi đã thực hiện cho đến nay?
  4. Google sẽ phạt tôi chứ? Điều gì xảy ra nếu tôi loại bỏ chuyển hướng?
  5. Chúng được làm như thế nào?
  6. Làm cách nào để sửa lỗi 302? (nếu nó xảy ra)

Trong bài viết này, tôi sẽ trả lời tất cả những câu hỏi này để bạn có sự rõ ràng hơn để tiến hành trong từng trường hợp.

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

Mã 302 chỉ ra một chuyển hướng tạm thời. Một trong những tính năng đáng chú ý khác biệt với chuyển hướng 301 là, trong trường hợp 302 chuyển hướng, sức mạnh của SEO không được chuyển sang một URL mới.

seo google

Điều này là do chuyển hướng này đã được thiết kế để được sử dụng khi có nhu cầu chuyển hướng nội dung đến một trang sẽ không phải là trang cuối cùng.

Do đó, một khi chuyển hướng được loại bỏ, trang gốc sẽ không mất vị trí trong công cụ tìm kiếm Google.

Mặc dù không phổ biến lắm khi chúng ta thấy mình cần chuyển hướng 302, nhưng tùy chọn này có thể rất hữu ích trong một số trường hợp. Đây là những trường hợp thường gặp nhất:

  • Khi chúng tôi nhận ra rằng có một số nội dung không phù hợp trên một trang. Trong khi chúng tôi giải quyết vấn đề, chúng tôi có thể chuyển hướng người dùng đến một trang khác có thể quan tâm.
  • Trong trường hợp một cuộc tấn công vào trang web của chúng tôi yêu cầu khôi phục bất kỳ trang nào, chuyển hướng này có thể giúp chúng tôi giảm thiểu tỷ lệ mới mắc.

Chuyển hướng 302 là mã thông báo cho khách truy cập một URL cụ thể rằng trang đã được di chuyển tạm thời, hướng họ trực tiếp đến vị trí mới.

Nói cách khác, redirect 302 được kích hoạt khi robot của Google hoặc các công cụ tìm kiếm khác yêu cầu tải một trang cụ thể. Tại thời điểm đó, nhờ chuyển hướng này, máy chủ trả về phản hồi tự động cho biết một URL mới.

Bằng cách này, các lỗi và phiền toái được tránh cả cho công cụ tìm kiếm và người dùng, đảm bảo điều hướng trơn tru.

Chuyển hướng 302 để làm gì?

Ví dụ, chuyển hướng 302 phục vụ để có một số phiên bản của trang chủ bằng các ngôn ngữ khác nhau.

Cái chính có thể bằng tiếng Anh; nhưng nếu khách truy cập đến từ các quốc gia khác thì hệ thống này sẽ tự động chuyển hướng họ đến trang bằng ngôn ngữ của họ.

Chuyển hướng 302

Theo cách này, việc huy động lưu lượng truy cập web đã đạt được, nhưng đồng thời, ảnh hưởng ở cấp độ SEO của trang chính không bị pha loãng. Điều này tiếp tục phát triển, mặc dù không có sự chuyển giao quyền lực, như chúng tôi đã giải thích trước đó.

Ví dụ chuyển hướng HTTP 302

Trường hợp ví dụ chuyển hướng HTTP 302 phổ biến nhất là của Google.

Bất kể quốc gia bạn truy cập từ quốc gia nào, nếu bạn nhập https://www.google.com/, bạn sẽ được chuyển hướng đến phiên bản Google bằng ngôn ngữ / quốc gia tương ứng với bạn.

tìm kiếm trên google

Trong trường hợp của Đức, 302 sẽ tự động đưa chúng tôi đến https://www.google.de/ để chúng tôi có thể tìm kiếm nội dung bằng tiếng Đức.

Cổng của các công ty thành công như Coca-Cola hay thậm chí Fujitsu cũng sử dụng hệ thống này để chuyển hướng lưu lượng đến nơi mà họ cho là thuận tiện nhất.

Nguyên nhân gây ra lỗi HTTP 302

Bạn không nên sử dụng mã trạng thái 302 nếu bạn muốn chuyển trọng số SEO sang URL đích.

Tuy nhiên, đây là một số lý do phổ biến nhất cho lỗi chuyển hướng 302:

  • Sử dụng 302 chuyển hướng trong khi tên miền đang di chuyển;
  • Tạo chuyển hướng 302 khi bạn di chuyển tài liệu;
  • Sử dụng chuyển hướng 302 trong khi thay đổi giao thức trang web;
  • Tạo chuyển hướng 302 trong khi cấu trúc trang web đang thay đổi.

Chuyển hướng HTML 302 không được khuyến nghị khi phương thức của yêu cầu ban đầu được áp dụng cho yêu cầu của URL đích – ví dụ: di chuyển URL của một chỉ thị biểu mẫu sử dụng phương thức POST trong một khoảng thời gian cụ thể.

Cách xác định lỗi HTTP 302

Xác minh rằng cài đặt chuyển hướng 301 và 302 là chính xác là rất dễ dàng. Khi nhập vào thanh địa chỉ của địa chỉ cũ, chúng tôi quan sát những gì đang xảy ra.

Việc thay đổi địa chỉ cho thấy mọi thứ đều ổn với chuyển hướng. Địa chỉ vẫn giữ nguyên – bạn cần tìm nguồn gốc của vấn đề, nhưng trước tiên, chúng tôi khuyên bạn nên xóa bộ nhớ cache và thử lại.

tên miền

Có một tùy chọn khác – để áp dụng để kiểm tra mã phản hồi của máy chủ cho các dịch vụ trực tuyến, ví dụ: http://example.com/e_redirect/.

Nếu bạn thiết lập chuyển hướng chính xác, sau khi nhập tên miền, bạn sẽ thấy mã phản hồi 301 hoặc 302. Nó phụ thuộc vào loại chuyển hướng bạn dự định nhận ban đầu.

Một số dịch vụ còn hiển thị mã do máy chủ cung cấp sau khi chuyển hướng và ở đây chỉ có một tùy chọn hợp lệ – 200 OK.

Sửa lỗi HTTP 302

Phương pháp 1: Kiểm tra cấu hình máy chủ

Ứng dụng có thể chạy trên máy chủ sử dụng một trong hai chương trình máy chủ web phổ biến nhất này là Nginx hoặc Apache. Hai máy chủ web này chiếm hơn 84% chương trình máy chủ web toàn cầu!

Do đó, bước đầu tiên trong việc xác định mã phản hồi 302 là kiểm tra các hướng dẫn chuyển hướng bắt buộc trong tệp cấu hình chương trình máy chủ web.

Dành cho máy chủ web Apache

Bước 1: Mở tệp .htaccess trên máy chủ

Để xác định máy chủ web, bạn cần tìm tệp chính. Nếu bạn đang sử dụng máy chủ web Apache, hãy tìm tệp .htaccess trong hệ thống tệp gốc của trang web của bạn.

Trình quản lý tập tin cPanel

Nếu chương trình của bạn nằm trên máy chủ được chia sẻ, chẳng hạn, bạn có thể có tên người dùng được liên kết với tài khoản máy chủ. Trong trường hợp này, thông thường, thư mục của root ứng dụng nằm trong đường dẫn:

/ home // public_html / path, do đó, tệp .htaccess được đặt tại /home//public_html/.htaccess.

Bước 2: Tìm chỉ thị mod_rewrite

Khi bạn tìm thấy tệp .htaccess, hãy mở nó trong trình soạn thảo văn bản và tìm dòng sử dụng các lệnh RewriteXXX thuộc mô-đun mod_rewrite của Apache.

mod_rewrite

Tuy nhiên, ý tưởng cốt lõi là chỉ thị RewriteCond phác thảo một mô hình văn bản được so sánh với URL đã đăng ký. Khi khách truy cập yêu cầu URL tương ứng trên một trang web, lệnh RewriteRule theo dõi một hoặc nhiều hướng dẫn RewriteCond sẽ thực sự chuyển hướng yêu cầu tới URL tương ứng.

Chẳng hạn, dưới đây là sự kết hợp dễ dàng giữa RewriteRule và RewriteCond đáp ứng tất cả các yêu cầu của example.com, nhưng thay vào đó lại chèn một chuyển hướng tạm thời vào cùng một URI trong miền tạm thời – example.com:

Viết lại trên
RewriteCond% {HTTP_HOST} ^ ví dụ \ .com $
RewriteRule ^ (. *) $ HTTP://www.tceed-example.com/$1 [R = 302]

Lưu ý biểu ngữ bổ sung ở cuối RewriteRule, minh họa rõ ràng rằng mã phản hồi phải là 302, hiển thị cho tác nhân trình duyệt rằng đó là chuyển hướng tạm thời.

Bước 3: Đặt lại các lệnh trong tệp .htaccess

# BẮT ĐẦU WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^ index \ .php $ – [L]
RewriteCond% {REQUEST_FILENAME}! -F
RewriteCond% {REQUEST_FILENAME}! -D
Viết lại. /index.php [L]
# KẾT THÚC WordPress

Do đó, nếu bạn nhận được một lệnh RewriteRule hoặc RewriteCond bất thường trong tệp .htaccess của bạn mà dường như không phù hợp với nó, hãy thử chú thích tạm thời chúng (tiền tố #) và khởi động lại máy chủ web để kiểm tra xem sự cố đã được giải quyết chưa.

Đối với máy chủ web Nginx

Bước 1: Mở tệp nginx.conf

cấu hình ngix

Nếu máy chủ web của bạn đang hoạt động trên Nginx, bạn nên tìm một tệp cấu hình hoàn toàn khác. Tệp này được chỉ định là nginx.conf theo mặc định và được tìm thấy trong một trong các thư mục phổ biến được liệt kê bên dưới:

/ usr / local / nginx / conf, / etc / nginx hoặc, / usr / local / etc / nginx.

Bước 2: Viết lại các lệnh trên tệp nginx.conf

Sau khi phát hiện, hãy mở tệp nginx.conf trong trình soạn thảo văn bản của bạn và tìm các lệnh viết lại có liên quan đến chỉ báo chuyển hướng.

Đề án 301

Ví dụ: đây là một lệnh khối đơn giản (được khai báo một tập hợp các câu lệnh) thiết lập máy chủ ảo thông qua việc tạo chuyển hướng tạm thời từ abc.com sang tạm thời-abc.com:

người phục vụ {
nghe 80;
nghe 443 ssl;
máy chủ tên www.abc.com;
viết lại ^ / $ http://www.tceed-abc.com redirect;
}

Nginx viết lại các lệnh song song với Apache RewriteRule và
RewriteCond vì chúng thường bao gồm các mẫu tìm kiếm hướng văn bản phức tạp hơn.

Bước 3: Kiểm tra chính sách thay thế của tập tin nginx.conf

Trong mọi trường hợp, hãy kiểm tra tệp nginx.conf để biết chính sách thay thế ngoại lệ có chứa cờ chuyển hướng (mã phản hồi trả lại cờ vĩnh viễn khác 301).

tham số ngix

Vui lòng lưu ý mọi trường hợp ngoại lệ trước khi bạn khởi động lại máy chủ để kiểm tra xem sự cố đã được giải quyết chưa.

Phương pháp 2: Tìm kiếm phần mềm lỗi thời

Tài liệu đặc tả của RFC cho HTTP 1.0 nói rằng mục tiêu của mã phản hồi được tìm thấy của 302 302 nhằm mục đích chỉ ra rằng máy khách nên thực hiện chuyển hướng tạm thời.

rủi ro thiết bị

Tuy nhiên, nhiều trình duyệt mới sẽ xử lý mã 302 nhận được thông qua yêu cầu POST là yêu cầu GET không hợp lệ.

Điều này đã gây ra sự bất ổn và nhầm lẫn với các chương trình máy chủ web cụ thể cố gắng buộc trình duyệt thực hiện đúng công việc khi cần chuyển hướng tạm thời.

Để giải quyết vấn đề này, tài liệu đặc tả RFC HTTP 1.1 đã trả về mã phản hồi 303, 307 chuyển hướng tạm thời khác, đây là một cách dễ hiểu để quản lý các phản hồi POST-to-GET hoặc tạm thời, tạm thời.

Phương pháp 3: Làm sạch nhật ký

Hầu như tất cả các ứng dụng web lưu trữ hồ sơ trên máy chủ. Nhật ký ứng dụng thường đại diện cho lịch sử ứng dụng, như trang nào, máy chủ được yêu cầu và kết nối, được lấy từ cơ sở dữ liệu được cung cấp, v.v..

làm sạch các bản ghi

Nhật ký máy chủ được kết nối với thiết bị hiện tại chạy các chương trình và thường chứa thông tin về trạng thái và tình trạng của tất cả các dịch vụ được kết nối và thậm chí cả thông tin về máy chủ.

Bản ghi Google [PLATFORM_NAME] trong CMS hoặc sử dụng [PROGRAMMING_LANGUAGE] để đăng ký và đăng ký [OPERATING_SYSTEM] khi khởi chạy ứng dụng tùy chỉnh để biết thêm thông tin để có được các bản ghi này.

Phương pháp 4: Sửa mã ứng dụng

Trong trường hợp, tất cả các phương pháp được thảo luận ở trên đều thất bại, vấn đề có thể nằm ở mã người dùng của ứng dụng gây ra sự cố.

trình duyệt web

Cố gắng xác định nguyên nhân của sự cố bằng cách định vị thủ công ứng dụng và phân tích nó trong tệp nhật ký máy chủ và ứng dụng.

Đó là một ý tưởng tốt để sao chép toàn bộ ứng dụng vào máy tính phát triển cục bộ của bạn và xem qua nó để xem chính xác những gì xảy ra với 302 lần quét và xem mã cho từng ứng dụng.

Phần kết luận

Cuối cùng, như bạn đã thấy, chúng tôi không phải lo sợ nhiều về các lỗi chuyển hướng HTTP 302. Không đi xa hơn, chúng là một cách tuyệt vời để tránh mất lưu lượng truy cập trên các trang web của chúng tôi với những thay đổi không thể tránh khỏi phát sinh trong nhiều năm qua.

Tôi hy vọng rằng, sau khi đọc bài viết này, bạn sẽ không bị ớn lạnh mỗi lần về cách khắc phục lỗi 302 di chuyển tạm thời.

Cho dù bạn muốn đóng góp cho bài viết hay nếu bạn có câu hỏi hoặc chỉ muốn đưa ra ý kiến ​​của mình, đừng ngần ngại bình luận bên dưới!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map