このような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://example.com/question/123456.htmlへの HTTP リライト存在しない場合は、次のリライトを実行したいrewrite "^/question-([0-9]+).html$" /question.php?id=$1&lm=&pn= break;
ユーザーに 404 を返す以外。