V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
RiESA
V2EX  ›  问与答

求助一下,有关 nginx 的 404 规则

  •  
  •   RiESA · 2020-02-28 00:52:28 +08:00 · 971 次点击
    这是一个创建于 1735 天前的主题,其中的信息可能已经有所发展或是发生改变。
    网站程序:mediawiki

    由于 mediawiki 的特性是这样子的

    正常的 url 结构: http://域名 /index.php?title=页面名

    如果访问 http://域名 /index.php?title=不存在的页面 ,并不会直接返回 404,而是提示你该页面不存在,是否需要创建


    如果在 nginx 直接启用了 error_page 404 /404.html;的配置的话,优先度会比网站程序的优先度还高,进入不存在的页面直接 404 了

    目前是注释掉 error_page 404 /404.html;网站程序运行正常,如果访问
    http://域名 /index.php?title=不存在的页面 > 提示是否新建该页
    http://域名 /不存在的目录 > 返回 nginx 默认的 404 页

    单纯的注释掉 404 的配置,虽然工作正常,但是就没办法把 404 页定义为自己想要的了(默认的有点丑)

    有没有什么两全其美的办法呢?
    2 条回复    2020-02-28 08:44:32 +08:00
    msg7086
        1
    msg7086  
       2020-02-28 07:32:05 +08:00   ❤️ 1
    在 php 的 location 块里加入
    error_page 527 error.html;
    看看能不能解决问题。
    cydian
        2
    cydian  
       2020-02-28 08:44:32 +08:00
    error_page 404 /404.html;
    /404.html 这个就是自定义 404 页面。
    你改成你程序的地址不就好了?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1028 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 21:45 · PVG 05:45 · LAX 13:45 · JFK 16:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.