我正在尝试在我的ASP.NET应用程序中实现Prerender.io。我配置了所有必要的步骤,包括
1)<meta name="fragment" content="!">
在Index.html
2)配置模块
<httpModules>
<add name="Prerender" type="Prerender.io.PrerenderModule, IslamicMatchMakers.Web, Version=1.0.0.0, Culture=neutral" />
</httpModules>
3)添加了自定义标题
<httpProtocol>
<customHeaders>
<add name="X-Prerender-Token" value="XXXX" />
</customHeaders>
</httpProtocol>
4)定义重写规则
<rewrite>
<rules>
<!--# Only proxy the request to Prerender if it's a request for HTML-->
<rule name="Prerender" 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" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_USER_AGENT}" pattern="baiduspider|facebookexternalhit|twitterbot" />
<add input="{QUERY_STRING}" pattern="_escaped_fragment_" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="http://service.prerender.io/http://{HTTP_HOST}/{R:1}" />
</rule>
<rule name="Html5Mode" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{URL}" pattern="/scripts/" negate="true" />
<add input="{URL}" pattern="/content/" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
5)我在IIS上安装了应用程序请求路由模块,我在其中启用了代理。这是图像的样子: ARR
在我向http://localhost:2525?_escaped_fragment_=
发出请求后,完成所有这些配置后它只是向我显示一个空白页面。我不确定我错过了什么,有人可以建议。
答案 0 :(得分:6)
如果您在localhost上运行,您将无法看到任何内容。 Prerender.io服务器只能访问公共可用的网站,因此您可以尝试将代码推送到公共登台服务器......或者下载我们的开源服务器并在本地运行它以便首先进行测试。
如果您对启动和运行有任何疑问,请随时给我发电子邮件! :)
todd@prerender.io