新人请教!打包了一个VUE上传到public目录中路由显示404

gicai

问题描述

新人请教!我打包了一个VUE上传到public目录中文件夹叫news
vue采用的是无#号
本地 域名/news/12/22/
可以正常访问 读取到 2个参数的 值,

上传webman项目
域名/news/12/22/
显示404

如果
域名/news/index.html
可以正常访问 用#模式 也可以访问。

想大神给我个解决方案 可以实现 域名/news/XX/XX vue能获取到参数 就行。

656 2 1
2个回答

Tinywan

百度一大把

  • gicai 2023-06-02

    找到的 都是 传统的 伪静态 咱们这个 根目录 不一样 设置了 就全都是404

  • Tinywan 2023-06-02

    nginx处理一下就行了

  • gicai 2023-06-02

    找了好半天 都不生效 麻烦大神能给个方案吗

  • gicai 2023-06-02

    location / {
    try_files $uri $uri/ /index.html;
    } 这个是VUE ROUTER官方 给的 但是应该是 根目录,我的是 域名/news/ ,但是 我加了下 news 不好使

  • Tinywan 2023-06-02
    server {
        listen       80;
        server_name  mall.tinywan.com; #域名
    
        location / {
            root   /home/www/web/mall.tinywan.com/dist; #代理到dist文件夹中
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;   # 解决页面刷新404问题
        }
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }

    可以参考一下

  • gicai 2023-06-02

    我试下哈

  • gicai 2023-06-03

    研究了一上午 也不行 奥 愁死了

  • ichynul 2023-06-03
    location /news/ {
    try_files $uri $uri/ /news/index.html;
    } 

    试试这样

  • gicai 2023-06-04

    好使了 感谢 Tinywan ichynul 两位朋友,

admin
# 叫hash模式
/path 叫路径模式

路径模式需要伪静态重写,还有就是一般来说线上用hash模式,为什么呢,因为path模式会走一次服务器,增加无用功的负担。还不如hash模式 资源消耗的是浏览器

  • gicai 2023-06-04

    嗯嗯 是的 我现在用的就是hash模式 ,感谢 这样是不是纯纯的走的静态

🔝