prerender.io并将_escaped_fragment_ =与angularJs一起使用

时间:2018-09-21 09:03:14

标签: angularjs prerender

我有一个使用prerender.io的站点。去年一切进展顺利。今年,我不得不更改站点,并将其从.net项目迁移到纯AngularJs应用程序(使用yeo angular)。

这是几个月前完成的。我最近发现的是,prerender.io不再缓存我的页面了。 我发现我的web.config已更改。我添加了以下规则:

    <rule name="SEO" stopProcessing="true">
      <match url="^(?!.*?(\.js|\.css|\.xml|\.html|\.less|\.png|\.jpg|\.jpeg|\.gif|\.pdf|\.doc|\.txt|\.ico|\.rss|\.zip|\.mp3|\.rar|\.exe|\.wmv|\.doc|\.avi|\.ppt|\.mpg|\.mpeg|\.tif|\.wav|\.mov|\.psd|\.ai|\.xls|\.mp4|\.m4a|\.swf|\.dat|\.dmg|\.iso|\.flv|\.woff|\.ttf|\.m4v|\.svg|\.torrent))(.*)" ignoreCase="false" />
      <conditions logicalGrouping="MatchAny">
        <add input="{HTTP_USER_AGENT}" pattern="baiduspider|facebookexternalhit|Facebot|twitterbot|googlebot" />
        <add input="{QUERY_STRING}" pattern="(.*)_escaped_fragment_=(.*)" ignoreCase="false" />
      </conditions>
      <action type="Rewrite" url="http://service.prerender.io/http://www.kudos-sports.com/{R:0}" appendQueryString="false" />
      <serverVariables>
        <set name="HTTP_X_PRERENDER_TOKEN" value="****" />
      </serverVariables>
    </rule>

这现在允许prerender缓存我的网站,但是不能正确缓存它。 如果您去https://www.kudos-sports.com/?_escaped_fragment_=看看,您会发现它只是拉入索引页面上的文本。 它不会加载ui-view内容:(

有人知道为什么吗?