我有一个角度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。
答案 0 :(得分:3)
我找到了nginx解决这个问题的方法。
# SEO _escaped_fragment_
if ($args ~* "_escaped_fragment_=") {
rewrite ^ /snapshots/$uri last;
}