Angularjs与GoogleBots使用prerender.io

时间:2015-10-26 15:00:59

标签: angularjs apache adsense

我有很多问题要在我的网站上获取adsense。我正在尝试配置我的虚拟主机以便在机器人分析我的网络时使用prerender.io,但谷歌机器人(使用搜索控制台)返回"不可访问",我找不到溶液

这是我的virtualHost(apache2)的重要代码:

    RequestHeader set X-Prerender-Token "(token)"

RewriteEngine On

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


RewriteCond %{QUERY_STRING} _escaped_fragment_

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/http://www.ifmyweb.com/$2 [P,L]

RewriteRule ^ index.html [L]

在我的mainApp.js中:

$locationProvider.html5Mode(true);
            $locationProvider.hashPrefix('!');

在我的index.html中:

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

有谁知道我做错了什么?我已经测试了几天的变化,而且我没有让谷歌机器人从预呈现中加载网页。

非常感谢!!!

1 个答案:

答案 0 :(得分:2)

我解决了,这就是答案:

RewriteCond %{HTTP_USER_AGENT} baiduspider|Google(.*)|facebookexternalhit|visionutils|Facebot|twitterbot|rogerbot|linkedinbot|embedly|quora\ link\ preview|showyoubot|outbrain|pinterest [NC,OR]

RewriteCond %{QUERY_STRING} _escaped_fragment_

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/http://www.ifmyweb.com/$2 [P,L]

希望它可以帮助其他人:)