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;
    }
}

dawei

【声明】:丽水站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章