Подтвердить что ты не робот

Как исправить Facebook Circular Redirect?

У меня есть страница, которая перенаправляет на другую страницу, на которой я пытаюсь проверить свой URL: https://developers.facebook.com/tools/debug

Я получаю эту ошибку:

Errors That Must Be Fixed:
Circular Redirect:‎ Circular redirect path detected (see Redirect Path section for details).

Warnings That Should Be Fixed:
‎The og:url property should be explicitly provided, even if a value can be inferred from other
tags.‎
  1. Как я могу исправить эту проблему?
  2. Как обнаружить Facebook и, если это Facebook, не перенаправить?
4b9b3361

Ответ 1

Я просто решил это, добавив "/" в конец метатега URL-адреса Facebook. Итак, изменил

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

к

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

и это сделало трюк!

Ответ 2

Из приведенных ниже деталей в разделе пути перенаправления вывода отладчика должно быть ясно: В большинстве случаев это происходит, потому что вы указали тег og:url, указывающий (например) "mysite.com/articles", и это перенаправляет на "mysite.com/articles/" - искатель затем переходит к "mysite.com" /articles 'и получает тег og: url, указывающий его обратно на "mysite.com/articles"

Ответ 3

Я нашел обходное решение, и хотя он в стеке LAMP что-то подобное должно быть возможно с помощью .NET.

Проверка журнала Apache server при использовании Facebook Linter я получил:

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)"

Теперь я проверяю, содержит ли User-Agent: facebookexternalhit, если это так, я показываю исходную страницу, если не перенаправляю на новый url.

Вы можете использовать следующий RewriteCond в Apache, чтобы убедиться, что правило перезаписи будет выполняться только в том случае, если User-Agent НЕ НЕ (обратите внимание на восклицательный знак) facebookexternalhit.

RewriteCond %{HTTP_USER_AGENT} !facebookexternalhit

Это решение является рискованным, если Facebook решит изменить свой заголовок User-Agent, вы будете рояльно... но на данный момент это похоже на трюк.

Ответ 4

Возможно добавление заголовка после загрузки страницы помогает

<script type="text/javascript">
// <![CDATA[
    var meta = document.createElement('meta');
    meta.setAttribute("property", "og:url");
    meta.setAttribute("content", location.href);
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(meta);    
// ]]>
</script>

http://digdog.tumblr.com/post/1134982957/integrate-tumblr-template-with-facebook-open-graph

Ответ 5

В моем случае это был канонический url был на http, а полученный URL был на https, переключив его на https, он исправил мою проблему.

Ответ 6

Проверьте Canonical URL в https://developers.facebook.com/tools/debug о том, куда он перенаправляется. Если существует перенаправление 302, то вам нужно либо удалить это перенаправление, либо указать перенаправленный путь в качестве значения метатега og:URL.

Если http перенаправляется на https. Затем укажите https://your-sitename.com в качестве нового значения og: URL.

Обратите внимание, это сбросит все ваши старые комментарии.

Ответ 7

У меня была такая же ошибка: В моем случае проблема была www. в каноническом URL-адресе. Совпадение и проблема исчезли.

Ответ 8

У меня была та же проблема. Трудно заметить сначала, но герою перенаправлял меня с domain.heroku.com на domain.herokuapp.com.

Странно, причиной этой проблемы было config.action_mailer.default_url_options = {: host = > 'mydomain.herokuapp.com'}, хотя ни одна почтовая программа не участвует.