【问题标题】:How to write this nginx rewrite rule如何编写这个 nginx 重写规则
【发布时间】:2015-12-09 07:52:31
【问题描述】:

我有一个像这样的 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 除外。

【问题讨论】:

    标签: nginx url-rewriting nginx-location


    【解决方案1】:

    我会这样写:

    location ~ /question-(.*)\.html$ {
        try_files /question/$1.html /question.php?id=$1;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-20
      • 1970-01-01
      相关资源
      最近更新 更多