nginx在不应该寻找目录的情况下

时间:2019-02-15 12:11:26

标签: nginx

我有这个网址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)。无法使其正常工作。

1 个答案:

答案 0 :(得分:1)

似乎您应该在pl位置删除尾部斜杠: location /pl