VUE-router404页面是default.conf真实存在的路径

  将VUE项目打包后发布到Docker的Nginx服务器后,基本使用正常,发现前端有一个404错误,但页面显示正常js刷新页面,在退出登录后,跳转到404页面,便这个404页面是nginx缺省的,并不是自己vue项目的js刷新页面,参考网上资料后搞定了此问题,特此记录:

  一、原因 刷新页面时访问的资源在服务端找不到,因为vue-router设置的路径不是真实存在的路径。如上的404现象,是因为在nginx配置的根目录/Data/app/xqsj_wx/dist下面压根没有loading这个真实资源存在,这些访问资源都是在js里渲染的。

  二、Dockerfile文件

  注意打包文件拷贝的目标路径,后面的default.conf要一致,否则会有问题

   FROM urbgn6za.mirror.aliyuncs.com/library/nginx

  1. MAINTAINER Wu Jize
  2. RUN rm /etc/nginx/conf.d/default.conf
  3. ADD default.conf /etc/nginx/conf.d/
  4. #文件拷贝到镜像的目标路径,后面用$uri可以访问到,

  三、Nginx配置文件

  Nginx启动配置文件是default.conf文件,这个文件要特别注意格式

   server {

  1. listen 8090;
  2. server_name 192.168.195.17;
  3. index index.html;
  4. #charset koi8-r;
  5. # cross
  6. #
  7. location /prod-api/ {
  8. proxy_pass http://192.168.195.17:8088/;
  9. }
  10. # 解决出现404问题
  11. location / {
  12. try_files $uri $uri/ @router;
  13. index index.html index.htm;
  14. }
  15. location @router {
  16. rewrite ^.*$ /index.html break;
  17. }
  18. # redirect server error pages to the static page /50x.html
  19. #
  20. error_page 500 502 503 504 /50x.html;
  21. location = /50x.html {
  22. root html;
  23. }
  24. }
文章由官网发布,如若转载,请注明出处:https://www.veimoz.com/1620
0 评论
927

发表评论

!