我有一个 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
区域设置应用程序版本。
如何在前端解决它?