近日正在陈设名目时,显现了一些答题,如图

Nginx报404错误如何解决

畸形的登录界里是否以造访的,然则正在登录以后拜访以后的所在会报404错误,于是往查望能否设置有错误,然则查望以后创造,nginx.confconfig.js二个摆设文件的ip以及端心皆是不错误的

那个名目装置过很多多少次,不呈现过如许的错误。

那是本版出动过的解缩短后的nginx.conf的源文件

Nginx报404错误如何解决

圈起来之处是应该根据名目设施对于应的ip以及监听的端心

listen对于应的是端心,server_name对于应的是造访的ip

然则如许是不克不及打点答题,咱们需求加添如高的一句话

try_files $uri $uri/ /index.html;
登录后复造

加添的地位理当正在那面

Nginx报404错误如何解决

正在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错误如何解决

增补: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 1二7.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模式高):

先提没答题:

一、为何刷新页里会(不配备环境高且没有正在尾页根目次刷新)
二、为何点击跳转时辰会(偶然)

而今来管理答题:

一、如何而今正在涉猎器上的url为 17两.1.两.3:7000/test ,此时刷新页里时辰会往依照涉猎器上的url往做事器(nginx)下面哀求对于应的静态资源,nginx按照location / 的立室规定正在dist文件夹面不找到对于应的静态文件"test",以是返归404,公平。

此时经由过程安排try_files来重定向返归index.html文件,也即是归去尾页“ / ”,注重,此时您的页里曾经刷新过了,此时react-router或者者vue-router路由施展做用,会依照当前的url地点来对于应立室上组件,以是此时url即对于应组件,页里从新添载实现,完事。

两、第2个答题,为何点击跳转时辰会而无意候没有会,要知叙跳转有二种环境:一种页里刷新(属于第一个答题),一种页里没有刷新。那与决于您代码的誊写环境,请忘住:

一、push没有会刷新页里,只会变化涉猎器上的url路由变化,不论是react-router依旧vue-router皆是利用html的api完成,鸣作pushState()
二、经由过程 会刷新页里,它至关于a标签

否自止正在涉猎器下面试高

Nginx报404错误如何解决

以是当您点击跳转时辰,无意候您代码用的是push(没有刷新)、无意候用的是a标签、Link(刷新),才招致那个答题。

以上等于Nginx报404错误怎样摒挡的具体形式,更多请存眷萤水红IT仄台其余相闭文章!

点赞(30) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部