背景
部署在nginx的前端h5项目。访问浏览器显示的url会有一个#看着很丑,刷新出现404,而history则没有这个#符号,http://172.16.0.66:9998/没问题。但是具体到页面如:http://172.16.0.66:9998/my 出现404
排查原因后,发现我们在FinallShell上项目PC版本和h5版本共用了一个Nginx。
pc的链接路径有/#/。h5的链接不需要#但会自动添加# 如http://172.16.0.66:9998/#/my
解决办法
在h5项目的dist同级目录下复制一个Nginx文件,再用端口指向新的nginx
添加:
location / {
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
添加一个新的nginx文件后。再用端口指向这个nginx
docker run -d -p 9998:8000 --name oa-app -v /home/data/sunbsp-app/dist:/usr/share/nginx/build -v /home/data/sunbsp-app/nginx.conf:/etc/nginx/conf.d/default.conf nginx:alpine