我已经开发了一个 AngularJS 应用程序和一个 Parse.com 后端(只有数据,没有业务逻辑)。它们通过 REST 进行通信。
现在我的问题是,我想让我的页面被谷歌索引。为了实现这一点,我必须以某种方式将我的所有内容作为静态页面提供,以确保 Google 可以对其进行索引。
现在,我找到了一个名为 getseojs.com 的不错的服务,它除了将我网站的所有内容都作为静态内容提供之外,什么都不做。
我所要做的就是在我的 .htaccess 文件中添加一个重写条件和规则,除了将所有包含“_escaped_fragment_=”的调用转发到 getSEOjs 服务之外,它什么也不做。
我唯一的问题是,我的链接在静态版本中不起作用。
原因很简单:
我的 AngularJS 应用程序的 URL 类似于 www.mydomain.com/app/
现在我的链接看起来像这样:
在普通浏览器中运行良好的示例内容。
问题是,在静态内容中,域是不同的。它是这样的:
http://getseojs.com/v2/sdfxsaa2/://www.mydomain.com:80/app/?_escaped_fragment_=/sample/content
对于相同的示例内容站点。当我单击静态站点上的链接时,我会被重定向到以下内容:
http://getseojs.com/v2/sdfxsaa2/://www.mydomain.com:80/app/?_escaped_fragment_=/sample/content#!/othercontent
代替
http://getseojs.com/v2/sdfxsaa2/://www.mydomain.com:80/app/?_escaped_fragment_=/othercontent
有什么办法可以避免这种情况吗?除了使用绝对 URL 之外,没有其他方法吗?但是我也遇到了一个问题,因为我需要 /app/ 部分(因为这是我的网站所在的位置)以及在应用程序部分和路由之间我需要 hashbang (#!) oder 以防 googlebot 部分使用“?_escaped_fragment_ =”。
我希望你们中的某个人可以帮助我。我不知道如何解决这个问题。
非常感谢。
问候马克