【问题标题】:Rewrite rule for the root file in nginx?nginx中根文件的重写规则?
【发布时间】:2016-04-10 01:39:06
【问题描述】:

我只想将 / 重定向到不同的文件,而不是 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。

【问题讨论】:

    标签: nginx url-rewriting rewrite


    【解决方案1】:

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

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

    这将执行内部重写。详情请见this document

    【讨论】:

    • 是的,就是这样。愚蠢而简单。谢谢!
    猜你喜欢
    • 2016-08-16
    • 1970-01-01
    • 2010-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-05
    • 1970-01-01
    相关资源
    最近更新 更多