5

我现在正在我的基于 Angularjs 的 Web 应用程序中集成 phantom。

这篇好文章说我应该调用将$locationProvider.hashPrefix()前缀设置为“!”的方法 来自 SEO 的原因(允许爬虫拦截_escaped_fragmentURL 的组成部分)。

问题是我之前没有,我的一些 URL 如下所示: #/home.

我虽然也许有一种方法可以植入这个“!” char 在 APP 的配置功能中以编程方式(如果它不存在)请求 URL,而不必手动编辑大量标记。

4

2 回答 2

4

我遇到了类似的问题,手动(搜索/替换)浏览了所有链接并修复了它们。

我遇到的另一个问题是外部站点使用旧格式,即 http://plinkplink.net/#/event/3 而不是新格式 http://plinkplink.net/#!/event/3

我为此所做的修复严格来说不是 angularjs 惯用的,但它确实可以完成工作。我已将此脚本添加到页面的标题中。它只是将带有 # 的页面重定向到带有 #! 的页面:

    <script>
        var loc = window.location.href
        if (loc.indexOf("#") != -1 &&  loc.indexOf("#!") == -1 ){
            window.location.href = loc.replace("#", "#!");
        }
    </script>

我希望它有所帮助。

于 2014-01-06T22:57:31.643 回答
0

您是否链接到 # 值?即 -<a href="#/my/page"> 如果是这样,你不应该。您应该链接到不带 # 前缀的 url,我相信它会解决您的问题。

于 2013-10-30T16:22:52.647 回答