我在配置时遇到麻烦,这是我想工作的方式
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;
}
}