1

我有一个像这样的 nginx 重写规则

        location ~* /question\-(.*)\.html$ {

                rewrite  "^/question-([0-9]+).html$" "/question/$1.html";
                rewrite  "^/question-([0-9]+).html$"  /question.php?id=$1&lm=&pn= break;

         }

这条规则的意思是:如果 URI 是 /question-123456.html 那么重写为 /question/123456.html /question/123456.html 是静态文件,并通过 question.php 来创建。

所以当我访问http://example.com/question-123456.html HTTP rewrite to http://example.com/question/123456.html如果不存在,我想执行下一次重写rewrite "^/question-([0-9]+).html$" /question.php?id=$1&lm=&pn= break;

除了向用户返回 404。

4

1 回答 1

0

我会这样写:

location ~ /question-(.*)\.html$ {
    try_files /question/$1.html /question.php?id=$1;
}
于 2015-12-09T08:25:16.730 回答