Открытый график может разрешить относительный URL-адрес?

Я добавляю метатег Facebook Open Graph на свой сайт. Например:

<meta property="og:image" content="../images/aa.jpg"/>

Открывает ли граф относительные URL-адреса?

В противном случае, как я могу преобразовать относительный url в абсолютный url в asp.net mvc3 - есть ли какая-либо доступная функция для этого?

Ответ 1

Документация не имеет ничего об этом, но относительные URL-адреса не будут работать, работает только полный URL-адрес, включая схему.

Пока поддерживаются только полные URL-адреса, вы можете конвертировать относительно абсолютного URL- URL.Content с использованием метода URL.Content (как указано в " Что такое эквивалент страницы.ResolveUrl в ASP.NET MVC?")

ЗАМЕТКИ:

  • В 2012 году в старом блоге отслеживания ошибок в Facebook эта ошибка была закрыта, заявив, что это "по дизайну" http://developers.facebook.com/bugs/192471680829756
  • Если вы посмотрите на http://ogp.me/ns og:image указанный как ogc:url который имеет следующее описание:

    Строка символов Юникода, образующая действительный URL-адрес, имеющий схему http или https.

Ответ 2

Я установил тег og:image на своем веб-сайте с относительным URL-адресом, и хотя facebook сообщает об ошибке:

Объект в URL-адресе "http://***/" типа "website" недействителен, потому что данное значение "preview.png" для свойства "og: image: url" не может быть проанализировано как тип "url".

на https://developers.facebook.com/tools/debug/og/object/, изображение отображается в предварительном просмотре.

Поэтому я предполагаю, что это поддерживается, по крайней мере, на facebook.

Ответ 3

Если вы устанавливаете значение мета-узла og:url из действия контроллера, вы можете использовать:

Request.Url.AbsoluteUri()