我有这个网址www.example.com/pl/。 Nginx处理正确此URL。 另外,我有这个网址www.example.com/pl/home。该网址未正确处理,这是nginx的错误:
[error] 6#6: *2 "/usr/share/nginx/html/plhome" is not found (2: No such file or directory), client: 198.108.66.192, server: example.com, request: "GET / HTTP/1.1"
好像nginx正在寻找不应该的目录。我希望在/ pl /前缀nginx之后从html / pl /目录中获取index.html,然后从那里转到正确的页面。
如果我转到www.example.com/pl/(工作),然后从www.example.com/pl/home导航-它可以正常工作。
我想在浏览器中浏览www.example.com/pl/home并查看正确的页面。应该如何设置nginx来处理此问题?
nginx.conf
server {
listen 80 default_server;
listen [::]:80 default_server;
index index.html;
server_name _;
location /en {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html =404;
}
location /pl/ {
alias /usr/share/nginx/html/pl;
index index.html index.htm;
# try_files $uri $uri/ /index.html =404;
}
}
我尝试了nginx.conf的许多配置(以root代替别名,在位置使用regexp)。无法使其正常工作。
答案 0 :(得分:1)
似乎您应该在pl位置删除尾部斜杠:
location /pl