vue項目用nginx上綫后在url中直接輸入公網加路由的方式訪問路徑404問題解決

文章讲述了在Vue应用中遇到线上环境404错误的问题,分析了原因可能是nginx配置不当。通过修改nginx配置文件,添加try_files指令以处理未知路径,然后重启nginx服务,成功解决了404问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

檢查路由配置

import {createRouter, createWebHistory} from 'vue-router'
import Layout from '@/views/Layout/index.vue'
import Home from "@/views/Home/index.vue";
import Search from '@/views/Home/componets/Search.vue'
import Login from "@/views/User/Login.vue"
import Register from "@/views/User/Register.vue"
import Blog from "@/views/Blog/index.vue"
import Game from "@/views/Game/index.vue"
import Plane from "@/views/Game/components/Plane.vue"
import GameBody from "@/views/Game/components/GameBody.vue"

const router = createRouter({
    history: createWebHistory(import.meta.env.BASE_URL),
    routes: [
        // 所有不知名路徑都會跳到home
        {
            path: '/:pathMatch(.*)*',
            redirect: '/home',
        },
        {
            path: '/',
            redirect:'/home',
            component: Layout,
            meta:{showLive2d:true,showNavHeader:true},
            children: [
                {
                    path: '/home',
                    component: Home,
                    meta:{showLive2d:true,showNavHeader:true},
                    children: [
                        {
                            name: 'Search',
                            path: '/home/search/:keyword',
                            component: Search,
                            meta:{showLive2d:true,showNavHeader:true},
                        },
                    ],
                },
                {
                    path: '/login',
                    component: Login,
                    meta:{showLive2d:true,showNavHeader:true},
                },
                {
                    path: '/register',
                    component: Register,
                    meta:{showLive2d:true,showNavHeader:true},
                },
                {
                    path: '/blog',
                    component: Blog,
                    meta:{showLive2d:false,showNavHeader:true},
                },
                {
                    path: '/game',
                    component: Game,
                    meta:{showLive2d:false,showNavHeader:true},
                    children: [
                        {
                            path: '',
                            component: GameBody,
                            meta:{showLive2d:false,showNavHeader:true},
                        },
                        {
                            path: '/game/plane',
                            component: Plane,
                            meta:{showLive2d:false,showNavHeader:false},
                        }
                    ]
                },
            ]
        },
    ]
})

export default router


問題

直接域名加路由,404,開發環境可以訪問,上綫后404

綫上

在这里插入图片描述

開發環境

在这里插入图片描述

調式

儅使用域名訪問到主頁時,卻可以正常在路由閒跳轉
在这里插入图片描述

解決方案

在網上查了點資料,應該是nginx的問題

配置nginx

vi /etc/nginx/nginx.conf
try_files $uri $uri/ /index.html;

在这里插入图片描述

重啓nginx

nginx -s reload

問題解決

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鬼鬼骑士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值