在nginx中重写根文件的规则?

时间:2016-01-06 03:21:46

标签: nginx url-rewriting rewrite

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

1 个答案:

答案 0 :(得分:1)

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

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

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