Поделиться в Facebook с отображением _escaped_fragment_ URL вместо хеш-версии - PullRequest
2 голосов
/ 28 декабря 2011

Я создал одностраничное приложение. Все глубокие ссылки в форме mysite.com/#!/entry_title. Это позволяет Google (и Facebook) проверять альтернативный URL для содержимого этой страницы.

Я установил проверку на стороне сервера, чтобы определить, ищет ли Google или Facebook снимок HTML этой страницы. Если это так, он отправляет другой заголовок, содержащий необходимые метатеги Facebook og.

Вот проблема. Если я вставлю один из моих URL-адресов (mysite.com/#!/entry_title) в мое поле состояния, отобразится URL, который будет отображаться в виде HTML-снимка (mysite.com/?_escaped_fragment_/entry_title).

Метатег og: url на странице снимка HTML имеет значение mysite.com/#!/entry_title.

Как я могу заставить Sharer отображать версию URL mysite.com/#!/entry_title вместо версии снимка HTML?

Заранее спасибо!

  • Brett

1 Ответ

2 голосов
/ 04 января 2012

Я понял это и решил опубликовать ответ для других.

Хитрость заключается в том, чтобы настроить перенаправление на Google / Facebook для перехода на более симпатичный URL.Таким образом, любой URL в форме

mysite.com/?_escaped_fragment_/entry_title 

перенаправляется на что-то более красивое, например

mysite.com/view/entry_title

Когда кто-то разделяет один из моих динамических URL-адресов, Facebook запрашивает версию страницы _escaped_fragment_, иперенаправляется на мой более симпатичный URL (mysite.com/view/entry_title), что показано в посте Facebook.

Чтобы люди всегда разделяли мой динамический URL, я настроил перенаправление javascript наmysite.com/view/entry_title страницы для перенаправления обратно на mysite.com/#!/entry_title страницы.

Хотя динамический URL-адрес в общем ресурсе Facebook не отображается, он показывает более симпатичный URL-адрес, чем_escaped_fragment_ version и вынуждает людей вернуться к динамическому URL, которым я хочу, чтобы люди поделились.

...