Prerender io给出404错误

时间:2015-03-20 05:59:02

标签: javascript angularjs iis seo prerender

我创建了一个angulerjs网络应用程序并为每个页面设置了SEO标签,如Angularjs website not indexing on google

我的Web应用程序托管在IIS服务器中。所以我改变了我的web配置文件,配置如下。

<?xml version="1.0"?>
<configuration>
    <system.webServer>
        <httpProtocol>
            <customHeaders>
                <add name="X-Prerender-Token" value="XXXXXXXXXXXXX" />
            </customHeaders>
        </httpProtocol>
        <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://yourwebsite.com/{R:2}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration> 

我使用自己的prerender令牌配置Web配置并登录到Prerender.io并缓存我的网站页面。

当我加载http://www.mywebsite.com/?_escaped_fragment_=时,此链接会给我&#34; 404 - 找不到文件或目录&#34;现在错误。

1 个答案:

答案 0 :(得分:1)

我可以通过将Action类型Rewrite更改为Redirect来解决此问题,如下所示。

<action type="Redirect" url="http://service.prerender.io/http://yourwebsite.com/{R:2}" />

<强>被修改

但是动作类型重定向会影响您网站的社交分享。因此,请将其保留为重写并将应用程序请求路由安装到IIS服务器并启用代理。

这对某人有帮助:)