-1

我有一个 Angular 应用程序,我使用 Azure B2C 作为身份提供者。在我的 Nginx 配置中,我遵循了 Angular 文档告诉我的操作。

http {
    # Browser preferred language detection (does NOT require
    # AcceptLanguageModule)
    map $http_accept_language $accept_language {
        ~*^de de;
        ~*^it it;
        ~*^en en;
    }
    # ...
}

server {
    listen 80;
    server_name localhost;
    root /www/data;

    # Fallback to default language if no preference defined by browser
    if ($accept_language ~ "^$") {
        set $accept_language "it";
    }

    # Redirect "/" to Angular application in the preferred language of the browser
    rewrite ^/$ /$accept_language permanent;

    # Everything under the Angular application is always redirected to Angular in the
    # correct language
    location ~ ^/(it|de|en) {
        try_files $uri /$1/index.html?$args;
    }
    # ...
}

现在,当我转到myapp.com它时,它会将我重定向到myapp.com/it并且它可以正常工作,因为我将“它”语言环境设置为我的首选语言;但是如果我尝试导航到myapp.com/en,如果我已登录,它运行良好,如果我没有登录,我有正确的登录页面邀请我登录。之后,当我转到 azure b2c 页面和之后登录成功,重定向到主路由/,Nginx 转到it区域设置应用程序版本。

如何在前端解决它?

4

0 回答 0