У меня есть портал, встроенный в Angular 1.5.9 с использованием ui-router.Теперь, когда пользователь нажимает на что-то и маршрут меняется, мета-теги должны меняться.Или когда пользователь делится ссылкой на Facebook, его метаинформация должна отображаться.
Например, когда пользователь заходит в / home, отображаются метатеги по умолчанию.когда маршрут меняется на / detail, информация из службы API будет заполнять метатеги.Следовательно, когда URL-адрес является общим для других сайтов - мета-теги должны исходить от сервиса.
Примечание: в URL есть хеш.
Что я пробовал
- с использованием prerender.io - не сработало так как платное и не вполне устраивает мою проблему.
- попытался перенаправить бота facebook в файл с именем meta.php, который получит метатеги, но мне нужно знать URL-адрес, к которому пытается обратиться бот-фейсбук, исходя из того, что я загружу информацию API втеги.Проблема в этом пункте (№ 2) заключается в том, что я не могу получить полный URL-адрес, к которому имеет доступ бот Facebook.После хеша (#) в URL-адресе сервер (nginx) не может распознать полный URL-адрес, который я пытаюсь получить в качестве параметра.Итак, если пользователь публикует URL-адрес website.com/#/page/details/23, я получаю только website.com/#, поэтому он загружает метатеги по умолчанию, а не конкретные.
- создал службу «metaService» для получения мета-тегов, но они не отображаются в отладчике Facebook при его последующей загрузке.Вызов metaService в onEnter внутри состояния, но не работает.
Что я уже знаю
- Я использую очень старую версию Angular, так как проект старый и не может быть обновлен.
- Угловой вариант предпочтительно для SPA, и это не SPA.