vue 打包后部署的路径问题?

作者站长头像
站长
· 阅读数 6

项目打包后不能部署到服务器的根目录,这一点好解决。但是访问该项目的网址并不是https://www.abc.com/,而是https://www.abc.com/dir/,也就是所有的路径前面都加了个/dir,请问这个需要怎么处理呢?

回复
1个回答
avatar
test
2024-07-06

https://segmentfault.com/a/1190000012135787

以前写的,但是方法不变,只要是有几个参数有变化了,你可以参靠一下

如果你现在用的是vite+vue3.0只要是如下

在vite.config.ts里指定

base: '/dir/',

在router创建的时候

const router = createRouter({
    history: createWebHistory('/dir/'),
    routes
});

还有就是你的web服务器要针对所有对dir/目录下的访问如果不存在的URI都要定向到index.html如apache下的设置如下,

<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On
  
  RewriteCond %{REQUEST_URI} ^/(dir|dir/.*)$
  RewriteRule ^/hot/index\.html$ - [L,NC]
  
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(dir|dir/.*)$ dir/index.html [L]
</IfModule>
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容