Angularjs 与 GoogleBots 使用 prerender.io
Angularjs with GoogleBots using prerender.io
我在网站上获取 adsense 时遇到了很多问题。我正在尝试配置我的虚拟主机,以便在机器人分析我的网络时使用 prerender.io,但是 google 机器人(使用搜索控制台)returns "Not accesible",我不找不到解决办法。
这是我的虚拟主机(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/ [P,L]
RewriteRule ^ index.html [L]
在我的 mainApp.js:
$locationProvider.html5Mode(true);
$locationProvider.hashPrefix('!');
在我的 index.html 中:
<meta name="fragment" content="!">
有谁知道我做错了什么??几天来我一直在测试更改,但我没有得到 google 机器人从预渲染加载网络。
非常感谢!!!
我解决了,这就是答案:
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/ [P,L]
希望对大家有帮助:)
我在网站上获取 adsense 时遇到了很多问题。我正在尝试配置我的虚拟主机,以便在机器人分析我的网络时使用 prerender.io,但是 google 机器人(使用搜索控制台)returns "Not accesible",我不找不到解决办法。
这是我的虚拟主机(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/ [P,L]
RewriteRule ^ index.html [L]
在我的 mainApp.js:
$locationProvider.html5Mode(true);
$locationProvider.hashPrefix('!');
在我的 index.html 中:
<meta name="fragment" content="!">
有谁知道我做错了什么??几天来我一直在测试更改,但我没有得到 google 机器人从预渲染加载网络。
非常感谢!!!
我解决了,这就是答案:
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/ [P,L]
希望对大家有帮助:)