uni-app打包h5并部署到nginx,路由模式history

uni-app打包有些坑,当时运行的基础路径填写了./,导致在二级页面刷新之后,页面直接空白。就只能换一个路径了,nginx也要跟着改,下面是具体步骤。

manifest.json配置web

运行路径写/h5/,或者写你们网站的目录,比如我这里写了h5,到时候访问的地址就是127.0.0.1/h5,对,带了一个h5

nginx配置

需要在nginx里面配置一个/h5配置,然后我这里还配置了一个location /的,让他重定向到/h5,这样用户输入127.0.0.1的时候会重定向127.0.0.1/h5,这个可以按需添加。

txt 复制代码
server {
        listen 80;
        server_name localhost;

        # 重定向根路径 / 到 /h5
        location / {
            return 301 /h5;
        }
		
		# 访问/h5的配置
        location /h5 {
            root html/webH5;
            index index.html index.htm;
            try_files $uri $uri/ /h5/index.html;
        }
		
		# 访问后台接口的配置
        location /web/server/ {
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

            proxy_pass http://localhost:8080/web/server/;
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root html;
        }
    }

打包成网站

把打包之后的文件,丢到nginx里面的\html\webH5\h5目录下面,如果你的文件不是放到这个地方的,那就改一下nginx的root html/webH5;配置,改成你自己的目录

打包之后请求后台地址想用相对地址的话,可以参考uni-app打包成H5使用相对路径

相关推荐
ICT系统集成阿祥1 小时前
实验篇| CentOS 7 下 Keepalived + Nginx 实现双机高可用
linux·运维·服务器·nginx·centos
TechStack 创行者2 小时前
Docker 构建 nginx-redis-alpine 项目详解
运维·redis·nginx·docker·容器
寒寒_5 小时前
uni-app App 端分段导出 JSON 数据为文件
uni-app
一只程序熊5 小时前
Uniapp 字体加载问题(文件本地存储)
uni-app
问道飞鱼12 小时前
【服务器知识】Nginx路由匹配规则说明
服务器·网络·nginx
蜜獾云12 小时前
nginx: [error] invalid PID number ““ in “/usr/local/nginx/logs/nginx.pid“
java·前端·nginx
FE_C_P小麦13 小时前
vue react前端项目打包部署后访问完整路由404【解决方案】
vue.js·nginx·react.js
xiyueta16 小时前
基于UniApp + Vue3开发的智能汉字转拼音工具
uni-app
XDIGAS1 天前
Docker 基础命令 - 以 Nginx 实战总结
nginx·docker·容器