如果缺少,则在配置阶段添加哈希前缀

Ole*_*sov 5 seo google-crawlers phantomjs angularjs

我现在正在将基于Angularjs的Web应用程序中的幻像集成.

美好的文章说,我应该调用$locationProvider.hashPrefix()方法来设置前缀"!" 来自SEO的原因(允许抓取工具拦截_escaped_fragmentURL 的组件).

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

我可能有一种方法可以植入这个'!' 在APP的配置功能中以编程方式将URL填入URL(如果它尚未存在),而是必须手动编辑大量标记.

pio*_*rga 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>
Run Code Online (Sandbox Code Playgroud)

我希望它有帮助。