nginx escape_fragment重写为角度SPA的静态内容

时间:2014-06-14 18:41:58

标签: angularjs nginx seo

我有一个角度SPA,并生成了静态html页面,以便webcrawler能够找到并抓取该网站。我将以下代码段添加到我的nginx站点配置中。

if ($args ~ "_escaped_fragment_=/?(.+)") {
    set $path $1;
    rewrite ^ /snapshots/$path last;
}

虽然这适用于所有子文件夹,例如像/abc这样被抓取的?_escaped_fragment_=abc这样的网页,但在根网址/被抓取到?_escaped_fragment_=的情况下,它不起作用1}}是空的。在这种情况下,nginx会回退到/并且会提供.js应用而不是静态内容。

任何想法正确的重写声明会是什么样子?或者我到底错过了什么? THX。

1 个答案:

答案 0 :(得分:3)

我找到了nginx解决这个问题的方法。

# SEO _escaped_fragment_
if ($args ~* "_escaped_fragment_=") {
    rewrite ^ /snapshots/$uri last;
}