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 ответа:
Вы тестируете свой сайт с помощью 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.