为何我的网站不显示【404】,而显示【Cannot GET ****** 】?

是Nginx在VPS上搭建的Hexo博客,配置404页面的时候才发现。

localhost:4000/404.html 是可以正常显示的。

但是比如我输入 localhost:4000/asdasdasd 这样一个不存在的页面
他就会显示 Cannot GET /asdasdasd/

不太懂是哪里的问题,能不能把Cannot GET换成404?

阅读 6.4k
3 个回答

nginx配置文件里没有设置相关的路由吧。

你可以看下这个帖子,大意就是如何把404 error都route到自定义的页面。

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        . . .

        error_page 404 /custom_404.html;
        location = /custom_404.html {
                root /usr/share/nginx/html;
                internal;
        }
}

直接把hexo g生成的public目录设置成网站根目录就行了,通过hexo s性能太低。

新手上路,请多包涵
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题