我已经尝试了几乎所有我发现的内容,我了解大多数示例都显示了使用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,我会看到相同的结果。
感谢您在此问题上为我提供的任何帮助。