Nginx服务器报404错误, 网站开发时遇到的一个奇怪的问题以及最终的解决

修复Nginx 404错误 网站开发时遇到的一个奇怪的问题以及最终的解决

分类: 网站开发

在日常维护工作中, 突然发现某客户网站的一个新的网页, 无法被Google搜索引擎抓取到,错误的结果是找不到该文件, 错误码是404. 对于这类错误,无论从客户的体验上,还是对网站的搜索引擎优化,都是不可忽视的问题,必须尽快解决.

该网站是基于Ubuntu Linux服务器,Nginx 服务器, 利用Laravel框架开发的,经过排查, 并没有发现网站程序自身有任何的错误日志输出,而且其他与该页面类似的网页都是可以正常显示的,因此我们把排查的重点从网站程序自身转移到数据库和Nginx服务器,最后发现一个让我们啼笑皆非的问题,就是Nginx服务器的配置文件中,处理静态文件的规则写的不严谨,它会把任何在网址中有 *js* 的请求,都默认为静态文件,而这个出错的页面中,恰好网址中间包含了’js'这个字符串,因此nginx服务器就去尝试寻找一个不存在的javascript脚本文件了。

优化了nginx配置文件之后,重启服务器,问题解决。

维墨科技 全职高手

一枪穿云@维墨科技

系统架构师/专业网站应用程序开发工程师; Master of PHP/AWS/网络服务, 20年IT行业经验; 精通各种前后端开发技术, Linux/Laravel/WordPress/VueJS/ElementUI 作为主要武器; SmartBro电子商务平台的主要开发者

职务: 全栈工程师 银武: 枪火 碎霜