2011-11-22 46 views
29

Tôi có một trang đó chuyển hướng đến trang khác tôi cố gắng để kiểm tra url của tôi trên: https://developers.facebook.com/tools/debugcách sửa lỗi Chuyển hướng Thông tư của facebook?

tôi nhận được lỗi này: lỗi cần phải cố định: Thông tư Redirect: đường dẫn chuyển hướng Thông tư phát hiện (xem Redirect Phần đường dẫn để biết chi tiết).

Cảnh báo đó nên trở thành cố định: Các og:. Sở hữu url cần được cung cấp một cách rõ ràng, ngay cả khi một giá trị có thể được suy ra từ các thẻ khác

  1. làm thế nào tôi có thể khắc phục vấn đề này?
  2. cách phát hiện facebook và nếu nó không chuyển hướng facebook thì sao?
+0

Tôi cũng có một số câu hỏi. Bạn đang sử dụng gì để chuyển hướng trang của mình? Ngôn ngữ kịch bản nào chúng ta đang nói đến? – tuze

+0

tôi sử dụng Response.Redirect() trong asp – user1057679

Trả lời

7

Nó phải rõ ràng từ các chi tiết đưa ra dưới đây trong phần đường chuyển hướng của đầu ra debugger: Trong hầu hết các trường hợp này xảy ra bởi vì bạn đã chỉ định một thẻ og:url trỏ đến (ví dụ) 'mysite.com/ bài viết 'và chuyển hướng này đến' mysite.com/articles/ '- trình thu thập dữ liệu sau đó chuyển đến' mysite.com/articles 'và nhận thẻ og: url trỏ nó trở lại' mysite.com/articles '

5

Tôi đã tìm thấy giải pháp thay thế và mặc dù nó ở trên ngăn xếp LAMP tương tự phải có thể với .NET.

Kiểm tra log Apache server trong khi sử dụng Facebook Linter tôi nhận:

69.63.189.246 - - [09/Jan/2012:03:54:45 +0000] "GET /test1.php HTTP/1.1" 200 8879 "-" > "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)"

bây giờ tôi kiểm tra xem User-Agent chứa: facebookexternalhit nếu vì vậy tôi hiển thị các trang gốc, nếu không tôi chuyển hướng đến các url mới.

Bạn có thể sử dụng RewriteCond sau trong Apache để đảm bảo rằng quy tắc viết lại của bạn sẽ chỉ chạy nếu User-Agent KHÔNG PHẢI LÀ (chú ý đến các dấu chấm than) facebookexternalhit.

RewriteCond %{HTTP_USER_AGENT} !facebookexternalhit 

Giải pháp này rất nguy hiểm, nếu Facebook quyết định thay đổi tiêu đề Tác nhân người dùng của bạn, bạn sẽ được royally ... nhưng hiện tại có vẻ như là lừa.

+0

Điều này khá khó hiểu, nhưng đó là điều duy nhất có thể khắc phục vấn đề chuyển hướng vòng tròn đồng thời giữ tất cả Facebook của tôi không bị ảnh hưởng. – pagliuca

49

Tôi vừa giải quyết vấn đề này bằng cách thêm "/" vào cuối thẻ meta url của Facebook. Vì vậy, thay đổi

<meta property="og:url" content="http://domain.com/path"/> 

để

<meta property="og:url" content="http://domain.com/path/"/> 

và đó đã làm các trick!

+1

Cảm ơn! Vẫn hoạt động trong năm 2015 – Merovex

+1

Vẫn hoạt động trong năm 2017! Vấn đề của tôi thực sự là một thiếu '?' Để bắt đầu truy vấn, nhưng nó đã cho tôi tìm kiếm đúng nơi. –

1

Tôi đã gặp lỗi tương tự: Trong trường hợp của tôi, sự cố là www. trong url chuẩn đối với tìm nạp. Sự phù hợp và vấn đề đã biến mất.

0

Tôi đã gặp vấn đề tương tự. Thật khó để nhận thấy lúc đầu nhưng heroku đã chuyển hướng tôi từ domain.heroku.com đến domain.herokuapp.com.

Thật lạ lùng, nguyên nhân của sự cố là config.action_mailer.default_url_options = {: host => 'mydomain.herokuapp.com'} mặc dù không có người gửi thư nào tham gia.

1

Trong trường hợp của tôi là url chuẩn là trên http và url được tìm nạp là trên https chuyển nó thành https nó đã khắc phục sự cố của tôi.

Các vấn đề liên quan