广告
返回顶部
首页 > 资讯 > 服务器 >Nginx报404错误的详细解决方法
  • 167
分享到

Nginx报404错误的详细解决方法

2024-04-02 19:04:59 167人浏览 独家记忆
摘要

近日在部署项目时,出现了一些问题,如图 正常的登录界面是可以访问的,但是在登录之后访问之后的地址会报404错误,于是去查看是否配置有错误,但是查看之后发现,nginx.conf与c

近日在部署项目时,出现了一些问题,如图

正常的登录界面是可以访问的,但是在登录之后访问之后的地址会报404错误,于是去查看是否配置有错误,但是查看之后发现,nginx.confconfig.js两个配置文件的ip和端口都是没有错误的

这个项目部署过好多次,没有出现过这样的错误。

这是原版没动过的解压缩后的nginx.conf的源文件

圈起来的地方是应该按照项目配置对应的ip和监听的端口

listen对应的是端口,server_name对应的是访问的ip

但是这样是不能解决问题,我们需要添加如下的一句话

try_files $uri $uri/ /index.html;

添加的位置应当在这里

server下的location段里添加,此时再重新启动nginx就可以了

nginx.exe所在的目录内,点击地址栏,输入cmd,可直接在该目录下启动命令行,无需打开cmd后再跳转目录。

若之前没有关闭nginx服务,先停止再打开,如果已关闭,可以直接输入启动服务的命令

停止nginx服务命令:

Nginx -s stop

 启动nginx服务命令:

start nginx

热部署nignx服务命令:

(但是不推荐使用这个命令,这个命令有时候是不起作用的,不如直接停了再启动)

nginx -s reload

重新启动nginx后,浏览器最好是清除缓存后再进行测试

可以直接在浏览器窗口按

Ctrl+Shift+Del

可直接打开清除缓存的对话框

重新测试,可以正常访问了

第一次写经验分享贴,如有不足之处,请大家提出 

补充:Nginx部署之后正常点击没问题,刷新页面会出现404问题的解决

项目部署到服务器后 ,根路径访问没有问题(Http:10.10.10.10),但是进入其他功能再刷新页面就会出现404,比如

http:10.10.10.10/test/test/test 刷新页面就会出现404,因为你没在nginx配置上面加上重定向跳转。

解决办法,只需要加上这段配置:

try_files $uri $uri/ /index.html;

server {
    listen 80;
    server_name 127.0.0.1;
	
	location / {
		root /data/htdocs/FactoryModel/micro-front-end/industrial-internet-platfORM-main-Vue;
		index index.PHP index.html index.htm;
		# add_header Cache-Control;
		add_header Access-Control-Allow-Origin *;
		if ( $request_uri ~* ^.+.(js|CSS|jpg|png|gif|tif|dpg|jpeg|eot|svg|ttf|woff|JSON|mp4|rmvb|rm|wmv|avi|3gp)$ ){
		  add_header Cache-Control max-age=7776000;
		  add_header Access-Control-Allow-Origin *;
		}
		try_files $uri $uri/ /index.html;
	}
}

这句配置的意思是每次匹配url路径时候找不到对应静态资源时候调制跳转到index.html文件

如图加在这里即可

下面内容需要稍微知道router路由工作原理、nginx原理

解析为什么会这样(针对路由在history模式下):

先提出问题:

1、为什么刷新页面会(没有配置情况下且不在首页根目录刷新)
2、为什么点击跳转时候会(有时)

现在来解决问题:

1、假设现在在浏览器上的url为 172.1.2.3:7000/test ,此时刷新页面时候会去根据浏览器上的url去服务器(nginx)上面请求对应的静态资源,nginx根据location / 的匹配规则在dist文件夹里没有找到对应的静态文件"test",所以返回404,合理。

此时通过配置try_files来重定向返回index.html文件,也就是回去首页“ / ”,注意,此时你的页面已经刷新过了,此时React-router或者vue-router路由发挥作用,会根据当前的url地址来对应匹配上组件,所以此时url即对应组件,页面重新加载完成,完事。

2、第二个问题,为什么点击跳转时候会而有时候不会,要知道跳转有两种情况:一种页面刷新(属于第一个问题),一种页面不刷新。这取决于你代码的书写情况,请记住:

1、push不会刷新页面,只会更改浏览器上的url路由变更,不管是react-router还是vue-router都是运用html的api实现,叫做pushState()
2、通过 会刷新页面,它相当于a标签

可自行在浏览器上面试

所以当你点击跳转时候,有时候你代码用的是push(不刷新)、有时候用的是a标签、Link(刷新),才导致这个问题。

总结

到此这篇关于Nginx报404错误的简单解决方法的文章就介绍到这了,更多相关Nginx报错404内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Nginx报404错误的详细解决方法

本文链接: https://www.lsjlt.com/news/164642.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Nginx报404错误的详细解决方法
    近日在部署项目时,出现了一些问题,如图 正常的登录界面是可以访问的,但是在登录之后访问之后的地址会报404错误,于是去查看是否配置有错误,但是查看之后发现,nginx.conf与c...
    99+
    2022-11-13
  • IIS部署asp.net报404错误的解决方法
    1).所建网站->(右键)权限->"ASP.NET计算机帐户"是否已添加。 2).所建网站->(右键)属性->ASP.NET选项卡->版本是否为2.0,...
    99+
    2022-11-15
    IIS部署asp.net 报404错误
  • Spring WebSocket 404错误的解决方法
    近来学习 Spring WebSocket 时按照 Spring IN ACTION 中示例编写代码,运行时浏览器报404 错误WebSocket connection to 'ws://localhost/websocket/marco'...
    99+
    2023-05-30
    spring websocket 404
  • Nginx的405notallowed错误解决方法
    目录1、问题情况2、问题原因3、问题解决4、拓展1、问题情况 首先看到的页面是nginx返回的页面,得知错误要从nginx上来解决 <html> <head>...
    99+
    2023-05-19
    405 not allowed Nginx 405 not allowed
  • Python中ImportError错误的详细解决方法
    目录ImportError: No module named XXX 错误解决问题解决补充:ImportError: libGL.so.1: cannot open shared o...
    99+
    2022-11-11
  • 关于访问后端接口报404的问题——全网最详细的404错误详解
    当我们通过前端向后端发起一个请求调用后端接口时,经常会遇到404的问题。网上关于对404问题介绍的一大堆,其实404问题的本质就两点。 在介绍404问题之前先温习一个小的知识点——项目访问路径 项目访问路径:就是定位一个项目的路径,可以...
    99+
    2023-08-16
    java spring spring boot
  • 关于访问后端接口报404错误问题的解决方法(全网最细!)
    目录前言第一点 后端接口能否访问情况一:server.servlet.context-path(项目访问路径)漏写或者名称写错情况二:类上面的@RequestMapping(&ldq...
    99+
    2023-05-16
    后端接口404错误 后端接口异常 后端接口异常怎么办
  • nginx常见502错误的解决方法
    Nginx 502错误情况1: 网站的访问量大,而php-cgi的进程数偏少。 针对这种情况的502错误,只需增加php-cgi的进程数。具体就是修改/usr/local/php/etc/php-fpm.con...
    99+
    2023-09-09
    nginx 服务器 php Powered by 金山文档
  • 局域网中网页404错误的解决方法
    这篇文章将为大家详细讲解有关局域网中网页404错误的解决方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。网页404错误的解决办法:1、对于站点来讲,把缺少的网页文件恢复到正确的位置,重新设置网络服务;2...
    99+
    2023-06-15
  • Vue3刷新页面报错404的解决方法
    vue-router历史模式 最近在学习Vue3的过程中遇到了一个问题,那就是在写代码的过程中,每当代码发生了变动,页面一刷新,原先的页面就会变成这个样子: 打开控制台一看: 这...
    99+
    2022-11-13
  • 网页报错404原因及解决方法
    网页报错404:即找不到该资源 未开启服务 若使用的是tomcat服务器,先检查服务器有没有正常启动,网络连接是否正常。 服务器未正确部署 使用开发工具为idea,检查tomcat在idea是否部署正确。 服务器配置出错 tom...
    99+
    2023-08-31
    java intellij-idea tomcat java-ee maven Powered by 金山文档
  • php调试时直接报500错误不显示详细报错信息的解决方法
    小编给大家分享一下php调试时直接报500错误不显示详细报错信息的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php调试时,直接报500错误,这让我很是...
    99+
    2023-06-14
  • 探讨Eclipse PHP 404错误的原因和解决方法
    Eclipse PHP 是一个非常受欢迎的 PHP 集成开发环境,它可以帮助 PHP 开发人员快速高效地开发 PHP 应用程序。然而,有时在使用 Eclipse PHP 进行项目开发时,会出现 404 错误,这会影响开发者的进度和效率。本文...
    99+
    2023-05-14
  • Java web访问http://localhost:8080/xx/xx.jsp报404错误问题的解决方法
    由于我们在eclipse ee中把项目部署在web端经常会出现报404错误。 原因为: 404状态码是一种http状态码,其意思是: 所请求的页面不存在或已被删除。通俗的讲就是当用户...
    99+
    2023-05-17
    java 无法访问 javaweb访问报错 javaweb访问报404
  • nginx报413 Request Entity Too Large错误解决方案
    原因:使用nginx进行文件操作,该错误表示请求体过大,更改一下nginx的请求体大小就可以了 解决: 在nginx的配置文件中新增:client_max_body_size 1024m; >根据需求...
    99+
    2023-09-13
    nginx 运维 服务器
  • Dreamweaver数据库连接出现错误404的解决方法
    这篇文章给大家分享的是有关Dreamweaver数据库连接出现错误404的解决方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。很多php新手会遇到一个问题,Dreamweaver连接数据库的时候出现404错误,...
    99+
    2023-06-08
  • phpmyadmin报500错误的解决方法
    小编给大家分享一下phpmyadmin报500错误的解决方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!phpmyadmin报500错误的解决办法:首先打开php安装的目录,进入到【d:...
    99+
    2022-10-18
  • navicat报2005错误的解决方法
    小编给大家分享一下navicat报2005错误的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!关于Navicat for...
    99+
    2022-10-18
  • navicat报1251错误的解决方法
    小编给大家分享一下navicat报1251错误的解决方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!navicat连接mysql报错1251的解决方法1、新安装的mysql8,使用破解版...
    99+
    2022-10-18
  • navicat报1146错误的解决方法
    小编给大家分享一下navicat报1146错误的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在MySQL的主从复制过程...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作