2015-02-09 2 views
0

Я пытаюсь проиндексировать мои страницы в Google, используя службу предварительного рендеринга для моего базового приложения.Ошибка при получении .htaccess для прямого googlebot с использованием _escaped_fragment_

Я знаю, что настройка отлично работает, когда я специально добавляю googlebot в список useragent, но мне было рекомендовано это использовать в пользу использования метода _escaped_fragment_. Только проблема заключается в том, что параметр _escaped_fragment_ не проходит корректно. Может кто-нибудь помочь, пожалуйста?

спасибо !!!

# html5 pushstate (history) support: 

<ifModule mod_rewrite.c> 

    RewriteEngine On 

    RewriteCond %{HTTP_HOST} ^example\.com$ [OR] 
    RewriteCond %{HTTPS} !on 
    RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L] 

# 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 "xxxxxxxx" 

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

# Proxy the request 
    RewriteRule ^(?!.*?(\.js|\.css|\.xml|\.less|\.png|\.jpg|\.jpeg|\.gif|\.pdf|\.doc|\.txt|\.ico|\.rss|\.zip|\.mp3|\.rar|\.exe|\.wmv|\.doc|\.avi|\.ppt|\.mpg|\.mpeg|\.tif|\.wav|\.mov|\.psd|\.ai|\.xls|\.mp4|\.m4a|\.swf|\.dat|\.dmg|\.iso|\.flv|\.m4v|\.torrent|\.ttf|\.woff))(.*) http://service.prerender.io/https://www.example.com/$2 [P,L] 

    # If non existent 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_URI} !index 
    RewriteRule (.*) index.html [L,QSA] 


</ifModule> 

Все модули apache загружены и работают.

+0

Вы добавили в '' Кода в заголовке HTML или в ссылке? – Croises

+0

Да, что там –

+0

Страницы, которые вы пытаетесь показать с помощью службы предварительного прослушивания, не являются реальными файлами? (потому что вперед вы исключаете реальные файлы с -f) – Croises

ответ

0

Так что .htaccess на самом деле правильный ... вот официальный ответ Google.

http://productforums.google.com/forum/#!category-topic/webmasters/crawling-indexing--ranking/bZgWCJTnl08%5B1-25%5D Цитата Джона Мюллера (сотрудник Google)

Looking at your blog's homepage, one thing to keep in mind is that the Fetch 
as Googlebot feature does not parse the content that it fetches. So when you 
submit toddmoyer.net/blog/ , it fetches that URL. After fetching the URL, it 
doesn't parse it to check for the "fragment" meta tag, it just returns it to 
you. However, if you fetch toddmoyer.net/blog/#! , then it should rewrite the 
URL and fetch the URL toddmoyer.net/blog/?_escaped_fragment_= . 

When we crawl and index your pages, we'll notice the meta-tag and act 
accordingly. It's just the Fetch as Googlebot feature that doesn't check for 
meta-tags, and instead just returns the raw content.