Prerender.io перенаправление подстраниц в индекс


Я следовал следующему руководству:

В угловой:

$locationProvider.html5Mode(true);

В html добавьте этот заголовок мета:

<head>
    <meta name="fragment" content="!">
</head>

Настройка Apache:

  RewriteEngine On
# If requested resource exists as a file or directory
  # (REQUEST_FILENAME is only relative in virtualhost context, so not usable)
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
    # Go to it as is
    RewriteRule ^ - [L]

  # If non existent
    # If path ends with / and is not just a single /, redirect to without the trailing /
      RewriteCond %{REQUEST_URI} ^.*/$
      RewriteCond %{REQUEST_URI} !^/$
      RewriteRule ^(.*)/$ $1 [R,QSA,L]      

  # Handle Prerender.io
    RequestHeader set X-Prerender-Token "YOUR_TOKEN"

    RewriteCond %{HTTP_USER_AGENT} baiduspider|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|quora link preview|showyoubot|outbrain|pinterest [NC,OR]
    RewriteCond %{QUERY_STRING} _escaped_fragment_

    # Proxy the request
    RewriteRule ^(.*)$ http://service.prerender.io/http://%{HTTP_HOST}$1 [P,L]

  # If non existent
    # Accept everything on index.html
    RewriteRule ^ /index.html

Теперь мой индексный сайт наконец-то подобран google.

Однако всякий раз, когда я пытаюсь перейти на свой дочерний сайт, он сообщает мне, что он был перенаправлен на index.html Кто-нибудь может мне сказать, что я делаю не так? я пытался сделать это в течение нескольких недель и не смог найти решение : (

От google-bot-simulator:

Введите описание изображения здесь

2 2

2 ответа:

Вы тестируете свой сайт с помощью Googlebot, но этого агента пользователя нет в списке возможных агентов пользователя, которые ищут ваши правила перезаписи.

RewriteCond %{HTTP_USER_AGENT} baiduspider|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|quora\ link\ preview|showyoubot|outbrain|pinterest [NC,OR]

Выше перечислены все боты, которые будут проксированы в prerender.io в частности, в нем перечислены только части пользовательского агента, которых достаточно для их обнаружения. Если вы добавите "googlebot", то он будет соответствовать и этому. Или прехапы просто " бот " для целей тестирования.

RewriteCond %{HTTP_USER_AGENT} bot|baiduspider|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|quora\ link\ preview|showyoubot|outbrain|pinterest [NC,OR]

Попробуйте. Кроме того, проверьте, есть ли в вашем браузере Плагин "User Agent Switcher", который позволит вам тестировать быстрее, чем через инструменты google.

Как выглядел ваш htaccess раньше? Я думаю, что это будет причиной того, что все ваши поддомены будут показывать индекс.html:

# If non existent
    # Accept everything on index.html
    RewriteRule ^ /index.html