gpt4 book ai didi

ember.js - 使 Ember 应用程序可抓取

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:27:25 25 4
gpt4 key购买 nike

我正在阅读有关 ajax 抓取的 google 规范;我理解这个概念,但我需要更多说明:

我的网址都是这样的:

http://www.website.com/#!/eng/home
http://www.website.com/#!/eng/contacts
...

我必须在这些地址提供 html 快照:

http://www.website.com/?_escaped_fragment_=/eng/home
http://www.website.com/?_escaped_fragment_=/eng/contacts
...

这是正确的吗?或者我应该删除“escaped_fragment”URL 中的“/”(例如 http://www.website.com/?_escaped_fragment_=eng/home 或其他内容?)

我用 phantomjs 生成 HTML 快照,但是哪一个是向爬虫提供这些快照的最佳方式?使用节点js?使用 htaccess 重写规则?

最佳答案

好吧,既然我终于摆脱了这个,我想分享一下我找到的方法;

首先,必须在特定 URL 处向爬虫提供 HTML 快照

?_escaped_fragment_=

正在替换

#!

如果你有:

http://www.website.com/#!/eng/home

您的服务器必须在以下位置提供快照:

http://www.website.com/?_escaped_fragment_=/eng/home

如果有人对我用来生成快照的方法感兴趣,我只使用一个名为 judo ( https://npmjs.org/package/judo ) 的节点模块;为了使用它,你需要在你的服务器上安装 phantomjs ( http://phantomjs.org/ ) 和节点 ( http://nodejs.org/ ); (关于如何在服务器上安装 phantomjs 的更多信息:How can I setup & run PhantomJS on Ubuntu?)

一旦你安装了所有东西,你只需要使用 judo(例如 judo.js)编写一个 js 文件(按照我链接的文档页面,你将在 5 分钟内准备好);将文件上传到服务器并使用节点执行以创建快照和站点地图;

在此之后,您需要在 google 的爬虫请求 ?_escaped_fragment_= URL 时为他提供 HTML 快照;我认为最简单的方法是通过 .htaccess 文件;特别是你只需要 3 行代码,在我的例子中是:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=/(.*)$
RewriteRule ^$ /seo/snapshots/%1\.html [L]

(因为我的 judo.js 文件在/seo/snapshots 目录中创建了快照)

最后,您可以使用 google 网站管理员工具面板中的“fetch as google”选项检查一切是否正常;如果你做的都正确,你会看到结果是 HTML 快照......

关于ember.js - 使 Ember 应用程序可抓取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19673698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com