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。
我只想将 / 重定向到另一个文件而不是 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。