Angular nginx 二级目录部署 angualr2,能正常跳转到首页,但是 js 中路由报错

EagleGZG · 2017年11月17日 · 最后由 es6china 回复于 2017年11月17日 · 429 次阅读

nginx利用二级目录部署angular2时,重写规则如下

server {
        listen       9999;
        server_name  fdfd.dd;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location /system-center/{
            root D:\web;
            rewrite ^/system-center/(?:management|system_management|data_management|drug_management|rule_management|rule-    
               management|guest_management|knowledge_sharing|dictionary_management|dict-management|mxgraph)+/.*$ /system-center/index.html;

        }

        location /knowledgecenter {
            root D:\web;
            rewrite ^/knowledgecenter/(?:home|system_management|data-management|product-management|drug_management|rule_management|rule-
                management|guest_management|knowledge_sharing|dictionary_management|dict-management|mxgraph)+/.*$ /knowledgecenter/index.html;
        }

        location /knowledge/ {
                    proxy_pass http://10.1.1.186:8083/;
                   proxy_set_header Cookie $http_cookie;
              }

        location /med/{
                   proxy_pass http://10.1.1.186:8080/med/;
                   proxy_set_header Cookie $http_cookie;
                }

        location /api/v1/ {
                       proxy_pass http://10.1.1.186:8081;
                       proxy_set_header Cookie $http_cookie;
                }




        location / {
            #root D:\home-center\dist;
            root D:\web\homecenter;
            #root D:\web\system-center3;
        }


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


        access_log  logs/testaccess.log;
    }

报错

求解决之法

共收到 6 条回复

你这knowledgecenter 的路径完全看不懂😅 😅 😅

虽然没有在nginx配置过angular,但是大致都是一样的。示例如下:

server {
  listen 80;
  server_name 域名;
  access_log off;
  index index.html index.htm index.php;
  root 路径;
  #if ($ssl_protocol = "") { return 301 https://$host$request_uri; }

  include rewrite配置路径;
  #error_page 404 /404.html;
  #error_page 502 /502.html;

  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
    expires 30d;
    access_log off;
  }
  location ~ .*\.(js|css)?$ {
    expires 7d;
    access_log off;
  }
  location ~ /\.ht {
    deny all;
  }
}

es6china 回复

就是二级路径,比如10.1.1.186:8080/knowledgecenter/这个地址用来发布一个系统,然后通过这个地址来访问系统,有点类似于tomcat的加path的部署

@EagleGZG 你检查下是不是root有问题呢?

es6china 回复

root没毛病,首页可以访问

EagleGZG 回复

噗,那就不清楚啦

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册