открытые графические теги не работает Angular 7 проекта - PullRequest
0 голосов
/ 18 ноября 2018

Я добавил теги og, необходимые для отображения расширенного содержимого при вставке URL-адреса в любое место в социальных сетях.Он работает только тогда, когда маршрут:

https://example.com

, но не работает, когда к нему подключен маршрут других компонентов:

https://example/register

он выдает ошибку 404 с этим URL, тогда как он прекрасно открывает этот URL в браузере.

Кроме того,

Curl https://example.com/ (Works)

Curl https://example.com/path (404)

Заголовок из обоих URL-адресов одинаков и видны при просмотре исходного кода страницы.Но так или иначе, отладчик facebook или любой другой сканер социальных сетей, в этом отношении, игнорируют тег head из / register route, но выбирают информацию из /

Я искал решения на этом форуме и многих других.Я пришел к выводу, что люди говорят что-то об Angular Universal, но почему-то я не уверен, что это мой случай, похожий на тот.Если да, то какое решение реализовать.

1 Ответ

0 голосов
/ 19 ноября 2018

Спасибо filipesilva от https://github.com/angular/angular-cli/issues/5113 за указание решения на: https://angular.io/guide/deployment

Проблема была с перенаправлением .htaccess. Я знал, что откат index.html был необходим, поэтому я реализовал следующее решение:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_FILENAME} index.html
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

Но по какой-то причине это было не очень полезно. Браузер не выдавал ошибку, но завиток был. Поэтому я изменил содержимое файла .htaccess на:

RewriteEngine On
    # If an existing asset or directory is requested go to it as it is
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
    RewriteRule ^ - [L]
    # If the requested resource doesn't exist, use index.html
RewriteRule ^ /index.html

справа от https://angular.io/guide/deployment и работает как заклинание.

...