4***@qq.com
4***@qq.com
  • 发布:2026-01-16 09:18
  • 更新:2026-01-16 11:17
  • 阅读:27

H5如何实现路由匹配通配符

分类:HTML5+

我希望在h5下有一个路由来匹配或者捕获所有不存在的路由,来重定向到404

2026-01-16 09:18 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

在H5中实现路由通配符匹配以捕获所有不存在的路由并重定向到404,需同时配置服务器和前端路由:

  1. 服务器配置(关键步骤)
    必须将所有非静态资源请求重定向到index.html,否则直接访问不存在的路径会返回404错误:

    • Nginx示例:try_files $uri $uri/ /index.html;
    • 阿里云:需在托管控制台将404页面设置为网站首页(仅支持根目录history模式)
    • 腾讯云:通过重定向规则配置"错误码404→替换路径→index.html"
  2. 前端路由配置
    在pages.json中配置H5专属路由规则:

    {  
     "h5": {  
       "router": {  
         "mode": "history",  
         "routes": [  
           { "path": "/pages/404/index", "alias": ["*"] }  
         ]  
       }  
     }  
    }  

    或创建404页面后,在App.vue的onLaunch中处理:

    // #ifdef H5  
    onLaunch() {  
     if (!getCurrentPages().length) {  
       uni.redirectTo({ url: '/pages/404/index' })  
     }  
    }  
    // #endif  
  3. 注意事项

    • 阿里云正式版404页面不支持目录层级,需将404页面放在根目录
    • 确保已创建/pages/404/index.vue作为404展示页面
    • 更多细节参考H5路由配置文档
内容为 AI 生成,仅供参考
DCloud_UNI_JBB

DCloud_UNI_JBB

要回复问题请先登录注册