ubuntu – Nginx默认页面的自定义状态代码
|
我只有Nginx的上游经验,而不是静态文件的服务. Nginx有一个默认服务器,它服务于欢迎使用nginx!页面,并在虚拟主机上没有匹配时显示.我想保留此默认页面,但将200状态代码覆盖为404. 我不知道该如何解决这个问题.有任何想法吗? 最佳答案 您可以使用返回包含错误代码的页面
只要root在服务器块中定义为nginx的默认路径. Nginx.org在所有这些上都有extensive documentation,值得一试. 重写200 很危险但是,您可以使用return来响应服务器中任何其他位置的请求,这将正确调用error_page指令.如果将它放在服务器块的底部,它将作为未在其他地方指定的请求的全能:
Here是退货的文件. 要真正迂腐,你也可以省略error_page指令,而只是编写重定向URL(对于代码301,302,303,307和308,从版本0.8.42开始):
或者响应正文(对于其他代码):
…但如果出现任何问题,这可能很难排除故障. 一点点阐述 Nginx有一个相当简单的语法来分隔状态代码和页面.在服务器块中,您可以定义一个根,其中nginx将查找所请求的静态页面.当请求静态页面但未找到,或者无法读取或发生其他情况时,nginx会获取状态代码并执行操作.如果该代码是200,它会处理html,php或其他任何内容,它们可以(并且经常会)触发对文件系统或其他套接字的一系列请求,以提供页面的这一部分或那部分.成功的结果将发送到浏览客户端,如果失败,将返回错误的默认页面.在这两种情况下,也会返回状态代码(允许浏览器端自定义404和其他错误). error_page指令只是告诉nginx接下来要遵循的请求.实际上,此请求甚至不必是磁盘上的文件.它可以是具有自己的规则集的命名位置. nginx的默认配置很好地说明了这一点:
因此,在获得503时,nginx将请求/50x.html,并且对50x.html的任何请求的位置语句定义了查找此文件的根路径. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- file-upload – 在nginx中禁用请求缓冲
- google-chrome – 将资源解释为文档,但使用mime类型applica
- TLS1.3不支持使用OpenSSL 1.1.1-pre9的nginx 1.15.2
- nginx从1.2.1更新到1.9.2后,PHP-FPM状态页面为空白
- Nginx:将所有不存在的请求重定向到index.php
- 安装passenger和nginx时找不到C编译器gcc
- php – Nginx清理网址,如何使用try_files将文件夹重写为参数
- 在nginx上禁用206个部分内容响应
- linux – 无法启动php-fpm – “无法为用户’apache’获取u
- 正则表达式 – nginx匹配位置中的特定单词
- Symfony2:如何强制整个应用程序的HTTPS?
- centos – nginx配置 – 可从外部localhost访问
- apache-2.2 – 使用Nginx作为apache的反向代理或
- 可以在nginx的上游块中使用“include”指令吗?
- amazon-s3 – RESTful Web服务的最具可伸缩性和高
- apache-2.2 – nginx重定向回remote_addr IP
- if-statement-使用Puppet Nginx jfryman模块将if
- nginx add_header在我的某个位置无效
- ruby-on-rails – 如何管理造成停机的乘客陈旧工
- 如果某些目录权限不正确,则phpbb 3.1.6会生成损坏
