如果你的项目使用了 vue并使用了路由且路由配置为 history 模式就会出现这种情况。当你使用 nginx 部署前端项目时发现页面刷新或不用根目录访问页面时出现404页面宝塔面板解决方法修改 nginx 配置我这边用的宝塔部署所以改配置也是相对简单的只需要加一行代码就行。具体步骤如下1. 部署网站后在宝塔网站中点击设置2. 在设置中的配置文件server中添加相应代码即可try_files $uri $uri/ /index.html; #解决刷新页面变成404问题的代码3. 保存立即生效快去试试吧。修改配置文件如果不是宝塔的话可以找一下你项目对应的 nginx.conf 这个文件对这个文件进行修改就可以了。server { listen 8081; server_name 地址; index index.php index.html index.htm default.php default.htm default.html; root 目录; # gzip on; # gzip_min_length 1k; # gzip_comp_level 9; # gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; # gzip_vary on; # gzip_disable MSIE [1-6].; try_files $uri $uri/ /index.html; #解决刷新页面变成404问题的代码 #SSL-START SSL相关配置请勿删除或修改下一行带注释的404规则 #error_page 404/404.html; #SSL-END #ERROR-PAGE-START 错误页配置可以注释、删除或修改 #error_page 404 /404.html; #error_page 502 /502.html; #ERROR-PAGE-END #PHP-INFO-START PHP引用配置可以注释或修改 include enable-php-80.conf; #PHP-INFO-END #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效 include /www/server/panel/vhost/rewrite/lin-blog.com.conf; #REWRITE-END #禁止访问的文件或目录 location ~ ^/(.user.ini|.htaccess|.git|.env|.svn|.project|LICENSE|README.md) { return 404; } #一键申请SSL证书验证目录相关设置 location ~ .well-known{ allow all; } #禁止在证书验证目录放入敏感文件 if ( $uri ~ ^/.well-known/.*.(php|jsp|py|js|css|lua|ts|go|zip|tar.gz|rar|7z|sql|bak)$ ) { return 403; } location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; error_log /dev/null; access_log /dev/null; } location ~ .*.(js|css)?$ { expires 12h; error_log /dev/null; access_log /dev/null; } access_log /www/wwwlogs/xxx.log; error_log /www/wwwlogs/xxx.com.error.log; }主要就是添加一行代码在 server 中就可以了。try_files $uri $uri/ /index.html; #解决刷新页面变成404问题的代码