宝塔做事器面板,一键全能支配及管理,送你10850元礼包,点我领取
近日在支配项目时,涌现了一些问题,如图
正常的登录界面是可以访问的,但是在登录之后访问之后的地址会报404缺点,于是去查看是否配置有缺点,但是查看之后创造,nginx.conf与config.js两个配置文件的ip和端口都是没有缺点的
这个项目支配过好多次,没有涌现过这样的缺点。
这是原版没动过的解压缩后的nginx.conf的源文件
圈起来的地方是该当按照项目配置对应的ip和监听的端口
listen对应的是端口,server_name对应的是访问的ip
但是这样是不能办理问题,我们须要添加如下的一句话
添加的位置应该在这里
在server下的location段里添加,此时再重新启动nginx就可以了
在nginx.exe所在的目录内,点击地址栏,输入cmd,可直接在该目录下启动命令行,无需打开cmd后再跳转目录。
若之前没有关闭nginx做事,先停滞再打开,如果已关闭,可以直接输入启动做事的命令
停滞nginx做事命令:
启动nginx做事命令:
热支配nignx做事命令:
(但是不推举利用这个命令,这个命令有时候是不起浸染的,不如直接停了再启动)
重新启动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;
这句配置的意思是每次匹配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内容请搜本站以前的文章或连续浏览下面的干系文章希望大家往后多多支持!