如何编写此 nginx 重写规则
How to write this nginx rewrite rule
我有一个像这样的 nginx 重写规则
location ~* /question\-(.*)\.html$ {
rewrite "^/question-([0-9]+).html$" "/question/.html";
rewrite "^/question-([0-9]+).html$" /question.php?id=&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=&lm=&pn= break;
除了 return 404 给用户。
我会这样写:
location ~ /question-(.*)\.html$ {
try_files /question/.html /question.php?id=;
}
我有一个像这样的 nginx 重写规则
location ~* /question\-(.*)\.html$ {
rewrite "^/question-([0-9]+).html$" "/question/.html";
rewrite "^/question-([0-9]+).html$" /question.php?id=&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=&lm=&pn= break;
除了 return 404 给用户。
我会这样写:
location ~ /question-(.*)\.html$ {
try_files /question/.html /question.php?id=;
}