nginx 中根文件的重写规则?

Rewrite rule for the root file in nginx?

我只想将 / 重定向到另一个文件而不是 index.php/.html.

所以在 apache 上我可以做到这一点..

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule . /path/to/dir/index.html [L]

在 nginx 中尝试这个甚至没有得到 运行,似乎:

if (-f $request_filename){
    set $rule_0 1$rule_0;
}
if ($rule_0 = "1"){
    rewrite /. /path/to/dir/index.html last;
}

也试过这个:

if ($request_filename ~ "/index.php"){
    set $rule_3 1$rule_3;
}

if ($args ~ "^$"){
    set $rule_3 2$rule_3;
}

if ($rule_3 = "21"){
    rewrite /. /wp-content/plugins/i-static/content/index.html last;
}

它就像它根本不存在一样,只是打印出 index.php。

如果要隔离单个 URI /,请使用 location = 变体。尝试:

location = / { rewrite ^ /new/index.html last; }

这将执行内部重写。有关详细信息,请参阅 this document