1、manifest.json 中配置
"router" : {
"mode" : "history",
"base" : "/h5/"
}
2、nginx 配置
location /web {
try_files $uri $uri/ /web/index.html;
index index.html index.htm;
}
location /h5/ {
try_files $uri /h5/index.html;
}
location /prod-api/ {
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:3969/;
}
3、 页面代码
config.baseUrl = '/prod-api'
image: item.logo ? config.baseUrl + item.logo : ''
4、request.js 配置如下
uni.request({
method: config.method || 'get',
timeout: config.timeout || timeout,
url: config.baseUrl || baseUrl + config.url,
data: config.data,
header: config.header,
dataType: 'json'
}).
页面请求中图片会加了/h5 导致无法访问图片 http://xx.com/h5/prod-api/profile/upload/1/2024/07/25/1719392945477_20240725112550A032.png
正确的:http://xx.com/prod-api/profile/upload/1/2024/07/25/1719392945477_20240725112550A032.png
紫色风铃 (作者)
bash ./ 然后mode 设置成hash,试过了不可以才换成 history的
2024-07-26 15:51
西恩十月
回复 紫色风铃: 我就是这么设的,没有问题,并且我看了一下,正常来说正确的图片路径应该是要带 /h5的,为什么你那边是不带才是正确的呢?prod-api 应该是接口前缀吧,图片为啥要用这个?
2024-07-26 18:05
紫色风铃 (作者)
回复 西恩十月: prod-api 是 nginx 配置的后端的反向代理
2024-07-26 18:18
紫色风铃 (作者)
回复 西恩十月: 如果前端的图片放在文件夹的图片带上h5 没毛病,但是现在图片来自后端,就带上h5就有问题了
2024-07-26 18:19
西恩十月
回复 紫色风铃: 图片来自后端,那链接应该是后端生成的吧,为什么会跟前端的配置有关呢?我感觉你的思路错了
2024-07-28 08:34