如何在IIS服务器上托管的现有angularjs应用程序上安装prerender.io

时间:2016-06-17 16:26:35

标签: angularjs iis prerender

我已经尝试了几乎所有我发现的内容,我了解大多数示例都显示了使用expressjs创建的新应用程序,但我还没有找到任何特定于IIS的内容。

我们有一个令牌。

<!-- prerender token -->
                     <httpProtocol>
                        <customHeaders>
                            <add name="X-Prerender-Token" value="mytoken" />
                        </customHeaders>
                    </httpProtocol>
            <!-- end prerender token -->

                <!-- prerender.IO rule -->
                        <rule name="Seo rewrite rule" stopProcessing="true">
                        <match url="^(?!.*?(\.js|\.css|\.xml|\.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|\.m4v|\.torrent))(.*)" ignoreCase="false" />
                          <serverVariables>
                            <set name="HTTP_X_PRERENDER_TOKEN" value="mytoken" />
                          </serverVariables>
                         <conditions>
                            <add input="{QUERY_STRING}" pattern="(.*)_escaped_fragment_(.*)" ignoreCase="false" />
                        </conditions>
                          <action type="Rewrite" url="http://service.prerender.io/https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" />
                        </rule>         
                    <!-- end prerender.OI rule -->

我在app.js

中添加了此代码行
$locationProvider.hashPrefix('!')

也是元标记

<meta name="fragment" content="!">

我可以看到它与本地服务器预呈现

http://localhost:3000/https://example.com/?_escaped_fragment_=/blog/This-is-great

我的理解是,如果一切都配置正确,如果我直接在Google搜索中搜索https://example.com/?_escaped_fragment_=/blog/This-is-great,我会看到相同的结果。

感谢您在此问题上为我提供的任何帮助。

0 个答案:

没有答案