Angularjs nginx escape_片段重写用于angular SPA的静态内容

Angularjs nginx escape_片段重写用于angular SPA的静态内容,angularjs,nginx,seo,Angularjs,Nginx,Seo,我有一个有角度的SPA,并生成了静态html页面,这样webcrawlers就能够找到并抓取该站点。我将以下代码段添加到我的nginx站点配置中 if ($args ~ "_escaped_fragment_=/?(.+)") { set $path $1; rewrite ^ /snapshots/$path last; } 虽然这对于所有像/abc一样被爬网的子文件夹页面(如?\u转义的\u片段=abc这样的页面)都很好,但在根url/被爬网的情况下,如果?\u转义的\u片

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

if ($args ~ "_escaped_fragment_=/?(.+)") {
    set $path $1;
    rewrite ^ /snapshots/$path last;
}
虽然这对于所有像
/abc
一样被爬网的子文件夹页面(如
?\u转义的\u片段=abc
这样的页面)都很好,但在根url
/
被爬网的情况下,如果
?\u转义的\u片段=abc
为空,则不起作用。在这种情况下,nginx返回到
/
,并提供.js应用程序而不是静态内容


你知道正确的重写语句是什么样的吗?或者我到底错过了什么?Thx。

我找到了nginx解决此问题的方法

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