VUE3路由访问的一个问题?

一个项目,放在服务器的二级目录workerlog下
路由设置如下:

const router = createRouter({

history: createWebHistory('/workerlog/'),

routes //上面的路由数组

})

vite.config.js

// 静态资源基础路径 base: './' || '',

base: process.env.NODE_ENV === 'production' ? '/workerlog/' : '/',

又在该二级目录下新建文件.htaccess

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index\.html$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /workerlog/index.html [L]

</IfModule>

目前项目可以正常访问,但是如果分享给朋友网址:https://www.xxx.cn/workerlog
是可以访问的;但是如果分享的是项目中某一页https://www.xxx.cn/workerlog/user,就报错了找不到该页。请问这个问题需要在哪找原因?


回答:

base: process.env.NODE_ENV === 'production' ? '/workerlog/' : '/',
这一条,你需要确定你在部署阶段有 process.env.NODE_ENV并等于production

不然的话,你就直接指定 base:'/workerlog/' 吧,开发阶段也没有多大影响

Apache如以下配置

RewriteCond %{REQUEST_URI} ^/(workerlog|workerlog/.*)$

RewriteRule ^/workerlog/index\.html$ - [L,NC]

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(workerlog|workerlog/.*)$ workerlog/index.html [L]

试试这样

具体看https://www.zhihu.com/question/46630687/answer/157166318 最后一段

几年前写的了,有的东西和现在不一样了,但是Apache配置没有变。我现在的项目也用VUE3,还是可以用的

本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。

以上是 VUE3路由访问的一个问题? 的全部内容, 来源链接: utcz.com/p/933948.html

回到顶部