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

2020-02-28 00:52:28 +08:00
 RiESA
网站程序: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 页定义为自己想要的了(默认的有点丑)

有没有什么两全其美的办法呢?
922 次点击
所在节点    问与答
2 条回复
msg7086
2020-02-28 07:32:05 +08:00
在 php 的 location 块里加入
error_page 527 error.html;
看看能不能解决问题。
cydian
2020-02-28 08:44:32 +08:00
error_page 404 /404.html;
/404.html 这个就是自定义 404 页面。
你改成你程序的地址不就好了?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/648201

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX