try_files 解释

try_files 解释

我想要一个简单的重定向。如果 REQUEST_URI 是“/”,我想重定向到“/blog/”。在阅读了一些 Pitfall-Docs 和 BestPractices 之后,我猜try_files这就是我所搜索的。但是nginx 维基百科没有向我解释清楚它到底是如何工作的。有两个(或一个)路径和一个 uri?uri 似乎是 REQUEST_URI,这正是我正在寻找的。但我不明白 path1(和 path2)如何与它交互。评估时是什么。你能帮我理解一下吗?

注:nginx版本1.0(.8)

答案1

有两条(或一条)路径和一个 uri?uri 似乎是 REQUEST_URI

否。它是后备 URI。try_files path1 [path2] uri检查 是否path1存在path2。如果不存在,Nginx 将重定向到uri

例如:try_files $uri $uri/ /index.php;相当于:

if (!-e $request_filename) {
   rewrite ^ /index.php last;
}

答案2

如果您需要重定向,那么try_files这不是您想要的。尝试以下操作:

rewrite ^/$ /blog/ redirect;

相关内容