如何将nginx中的错误代码/页面映射到更多的描述性文件名?
例如,
我有一个像404-NotFound错误,我想轻松地将404错误代码映射到Nginx中。 我不想指定每个error_page映射,因为这将是乏味的。 它也会膨胀conf文件,因为它必须为每个服务器完成。
我已经有一个地图设置,但新的nginx,并不知道如何得到它一起工作。
(我所有的错误页面都以错误代码开始,所以实际上,我宁愿有一些方法可以自动find文件,因为每个错误代码只有一个文件。
例如,错误404被映射到文件404-NotFound.html,如果我不需要指定它,它会很好,但是它自动检测到。)
我也想支持多种语言…
error_page可以包含URI部分中的variables,但不包含代码中的variables,所以无论如何,它会要求您明确地设置该列表。 在体面的Nginx版本(1.3.2,1.2.2)中, variables $status出现了,允许以这样的方式来实现你的目标:
error_page 404 403 … @err; location @err { try_files /html/error/$status.html /html/error/default.html; }
我还没有testing这个,如果你有时间这样做,试试这个:
recursive_error_pages on; error_page 400 403 404 407 500 502 503 504 /path/to/$status-ErrorPage.html;
祝你好运!
编辑 :做了一些研究,发现了这一点 ,现在我才知道这是一个坏主意