gpt4 book ai didi

ajax - 如何制作显示动态跨域 api 驱动内容的搜索引擎友好页面?

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

作为我们正在部署的产品的一部分,客户需要访问我们服务器上的远程 API 才能访问内容和数据。尽管如此,由于某些原因和某些客户,整个页面都在我们的服务器上的解决方案是不可取的(原因包括:控制设计,但主要是 SEO,并且他们希望此内容在“他们的域”下可用).. . 由于其他问题,访问API服务器端的脚本是不可取的。

我的想法如下(我会指出它的缺陷,以便其他人可以提出替代方案):

1) 制作一个简单的脚本托管在客户端服务器上,该脚本将从某个 URI 路径获取所有流量(catch-all 脚本,类似于任何框架路由器)。所以/MyApp/*.该脚本将始终返回一个代码,一个“加载器 javascript 和样式”...

2) 通过上面脚本返回的javascript,提取URL,在需要的路径/MyApp/[*]后处理URI,用JSONP或者CORS正则ajax发送给外部调用,然后对返回进行样式化适本地展示。

这样,/MyApp/abc 和/MyApp/def 等 url 在浏览器源代码中将具有相同的 html/js,但 JS 将从 ajax 调用加载不同的数据,因此显示不同的内容...

这似乎是一个很好的解决方案,唯一的缺点是根据我的理解,谷歌和其他搜索引擎永远无法访问来自 abc 和 def 的内容,它们只能访问“加载器 javascript 和样式”(很明显够了,他们不会运行 JS)...

所以这比#好!因为它不会搞砸 URL,但仍然依赖于 JS,所以对搜索引擎不友好......

由于服务器的限制,我宁愿有一个简单的“catchall”页面,并从客户端调用 API,而不是必须强加最低要求,例如 curl 等...而且我有通过这种方式更容易访问最终用户的 ip 地址(尽管我可以制作更精细的代理 - 这会使在客户端服务器上安装它变得更加困难)...

有没有办法在不从服务器端连接到 api 的情况下实现这一目标?

最佳答案

执行此 IMO 的最简单方法是使用 AJAX Controller (假设采用 MVC 设计)来处理所有远程请求。让 Controller 中的每个操作都返回 JSON,然后您可以通过服务器端调用轻松访问数据。

否则你正在使用#!解决方案(你不喜欢,这是正确的..),或使用 JSONP(也很麻烦)。

关于ajax - 如何制作显示动态跨域 api 驱动内容的搜索引擎友好页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11083222/

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