我现在正在将基于Angularjs的Web应用程序中的幻像集成。
This好文章说我应该调用$locationProvider.hashPrefix()
方法将前缀设置为'!'来自SEO原因(允许抓取工具截取URL的_escaped_fragment
组件)。
问题是我之前没有,有些网址如下:
#/home
。
我可能有一种方法可以植入这个'!'在APP的配置功能中以编程方式将URL填入URL(如果它尚未存在),而是必须手动编辑大量标记。
答案 0 :(得分: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>
我希望它有所帮助。
答案 1 :(得分:0)
您是否链接到#值?即 - <a href="#/my/page">
如果是这样,你就不应该这样做。你应该链接到没有#前缀的网址,我相信它会解决你的问题。