1
我在网站上工作,如果用户没有通过身份验证或没有权限查看指定的页面,我想抛出标准的404页面。我已经做了一些看,但没有运气。显然,我可以复制HTML,但我宁愿不要。如果可能的话,我宁愿使用nginx使用的实际404页面。克隆默认的nginx 404页面?
我在哪里可以找到这个?
我在网站上工作,如果用户没有通过身份验证或没有权限查看指定的页面,我想抛出标准的404页面。我已经做了一些看,但没有运气。显然,我可以复制HTML,但我宁愿不要。如果可能的话,我宁愿使用nginx使用的实际404页面。克隆默认的nginx 404页面?
我在哪里可以找到这个?
运行nginx -V
并查找由--prefix=/prefix/path/to/nginx
定义的路径。
下找到/prefix/path/to/nginx/html
一种更好的方式默认的404文件404.html
当你想自定义错误页编辑默认文件添加块像这样的HTTP下的nginx.conf文件部分
error_page 400 /error_docs/400_bad_request.html;
error_page 401 /error_docs/401_unauthorized.html;
error_page 403 /error_docs/403_forbidden.html;
error_page 404 /error_docs/404_not_found.html;
error_page 405 /error_docs/405_method_not_allowed.html;
error_page 406 /error_docs/406_not_acceptable.html;
error_page 407 /error_docs/407_proxy_authentication_required.html;
error_page 412 /error_docs/412_precondition_failed.html;
error_page 415 /error_docs/415_unsupported_media_type.html;
error_page 500 /error_docs/500_internal_server_error.html;
error_page 501 /error_docs/501_not_implemented.html;
error_page 502 /error_docs/502_bad_gateway.html;
error_page 504 /error_docs/504_gateway_timeout.html;
这基本上说使用/error_docs/404_not_found.html
如果404错误生成。你明明定义那些您想使特定的自定义页面
然后,您可以保存在某个地方的404_not_found.html文件服务器上,如/prefix/path/to/nginx/errors
然后,根据每个服务器部分,添加类似
server {
...
location /error_docs {
internal;
alias /prefix/path/to/nginx/errors;
}
...
}
每当任何先前定义的错误代码被抛出时,预定义的自定义页面将被提供。
我不明白你为什么不想复制HTML。你期望如果不是HTML,你会发现什么? – 2012-01-15 01:26:09
@KyleJones,我只是觉得这是一种半途而废的方式。 – Rob 2012-01-15 01:34:01
通过这个,我猜你所要求的是让nginx显示404页面并发回一个HTTP 404 code_,这对你来说不是很清楚。 – 2012-01-15 01:44:00