【问题标题】:Custom 404 not working in my nginx droplet自定义 404 在我的 nginx 液滴中不起作用
【发布时间】:2020-02-21 11:58:29
【问题描述】:

我是 nginx 的新手,在我使用 apache 网络服务器之前。所以我知道 .htaccess 在 nginx 中不起作用,在做了一些研究之后我了解了 nginx.conf。当我在服务器树中的 http 中添加 404 代码并重新加载时,没有任何反应并返回默认的 404 页面。

error_page 404 /404.html;
location  /404.html {
  internal;
}

我什至尝试在我的 /etc/nginx/sites-available/default conf 中执行此操作,但仍然没有运气,但是我很困惑我应该将代码放在哪里,在站点默认 conf 中还是在全局 nginx conf 中。 有人可以给我简要介绍一下这个话题吗! 感谢您的帮助

【问题讨论】:

  • 你错过了根。您还应该添加根目录,最重要的是“sudo service nginx restart”

标签: php nginx nginx-config


【解决方案1】:

好的,所以它是固定的。我尝试在启用站点时添加 404 代码,并且效果很好

【讨论】:

    【解决方案2】:

    尝试添加root 目录。

    假设404.html 文件位于/var/www/html/

    error_page 404 /404.html;
    location = /404.html {
        root /var/www/html;
        internal;
    }
    

    通常,我们不必在新位置块中设置根,因为它与服务器块中的根匹配。但是,这可以为自定义错误页面显式设置。

    别忘了重新启动您的 nginx 服务器以应用更改。

    【讨论】:

    • 我的站点在 /var/www/html/404.html,我应该在 nginx 全局配置或 /etc/nginx/sites-available/default 配置中进行更改?跨度>
    • 视情况而定,我会将其设置为sites available,以便每个不同的站点都可以有不同的自定义 404 页面。
    • 仍然无法正常工作,我已在我的站点中添加了它 - 可用服务器内{} 并重新启动了 nginx,没有运气,你猜为什么?
    • 检查文件权限,执行nginx服务器的用户是否有权限访问该文件?你的服务器是否启用了 selinux?
    • 是啊,所以我检查了一下,文件有读写权限,但据我所知没有执行,-rw-r--r--
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-04
    • 2013-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多