Nginx的角度为4

我在配置时遇到麻烦,这是我想工作的方式
mydomain.com->重定向到正确的语言:mydomain.com/en/或mydomain.com/fr/

我使用i18n有两个角度构建,每种语言一个.
使用语言的重定向有效,但是使用角度2的直接链接不起作用:
如果我转到mydomain.com/fr/connect-> 404

这是我的nginx配置

map $http_accept_language $lang {
   default en;
   ~*^fr fr;
}

server {
    listen 80;
    server_name domain.com www.domain.com;
    root /usr/share/nginx/html;
    index  index.html index.htm;
    location = / {
        rewrite "^.$" /$lang/ break;
    }
    location = /$lang/ {
        try_files $uri $uri/ /index.html;
    }
}

如果你们中的某些人知道这一点,那么我只是被困在那里,我是一个nginx初学者:/

最佳答案
第二个位置块是错误的.您可能需要将所有内容都定向到index.html(资源文件除外).您可以尝试如下操作:

map $http_accept_language $lang {
    default en;
    ~*^fr fr;
}

server {
    listen 80;
    server_name domain.com www.domain.com;
    root /usr/share/nginx/html;
    index  index.html index.htm;
    location = / {
        return 302 /$lang/;
    }
    location / {
        try_files $uri $uri/ /index.html;
    }
}

相关文章

文章浏览阅读3.7k次,点赞2次,收藏5次。Nginx学习笔记一、N...
文章浏览阅读1.7w次,点赞14次,收藏61次。我们在使用容器的...
文章浏览阅读1.4k次。当用户在访问网站的过程中遇到404错误时...
文章浏览阅读2.7k次。docker 和 docker-compose 部署 nginx+...
文章浏览阅读1.3k次。5:再次启动nginx,可以正常启动,可以...
文章浏览阅读3.1w次,点赞105次,收藏182次。高性能:Nginx ...