我看不懂 https://prerender.io 的官方nginx会议
为什么try_files?
使用try_files
location @prerender
永远不会被解雇!
我正在寻找以下行为:
如果从浏览器访问任何页面,nginx会静态/本地提供它。如果该网页是从某个抓取工具访问的,则代理会提供该网页。
官方片段似乎没有这样做,但官方文档说:
您在服务器上安装的 Prerender.io 中间件将检查每个请求,以查看它是否是来自爬网程序的请求。如果是来自爬虫的请求,中间件将向 Prerender.io 发送该页面静态 HTML 的请求。如果没有,请求将继续到正常的服务器路由。爬网程序永远不会知道您正在使用 Prerender.io 因为响应始终通过您的服务器。
有人可以帮助我理解这一点吗?
Todd 来自 Prerender.io 这里。
我们建议使用如下try_files:
try_files $uri @prerender;
这样做是为了$uri可以匹配静态文件(图像等(,然后,如果未找到,则运行@prerender配置。
有时,我们会看到$uri匹配的/index.html 对于返回单页应用程序的 html 文件的每个请求。如果是这种情况,您可以删除try_files,而只需将@prerender位置的内容复制到您需要它的任何位置,以便在提供索引.html文件之前运行。