为什么要try_files? (prerender.io nginx)

时间:2018-05-13 20:53:30

标签: nginx prerender

我无法理解official nginx conf

https://prerender.io

为什么选择try_files?

使用try_files永远不会解雇location @prerender

我看起来有以下行为:

  

如果从浏览器访问任何页面,nginx将静态/本地提供。如果从某个爬虫访问该页面,则由代理服务。

官方片段似乎没有这样做,但官方文件说:

  

您在服务器上安装的Prerender.io中间件将检查每个请求,以查看它是否是来自爬网程序的请求。如果是来自爬虫的请求,则中间件将向Prerender.io发送请求以获取该页面的静态HTML。如果没有,请求将继续到您的正常服务器路由。爬虫永远不会知道您正在使用Prerender.io,因为响应总是通过您的服务器。

有人可以帮我理解吗?

1 个答案:

答案 0 :(得分:0)

来自Prerender.io的Todd。

我们建议使用try_files,如:

try_files $uri @prerender;

这样做是为了让$ uri可以匹配静态文件(图像等)然后,如果没有找到,运行@prerender配置。

有时我们会看到$ uri匹配/index.html用于返回单页应用程序的html文件的每个请求。如果是这种情况,您可以删除try_files,而只是将@prerender位置的内容复制到您需要的位置,以便在提供index.html文件之前运行它。