如何在Nginx中使用一个文件提供不同的URL

时间:2019-01-25 14:23:25

标签: nginx docker-container

我使用docker容器来提供html和其他文件。没有后端网站。我只是托管一些静态文件。

我需要将一些不同的URL指向一个文件夹。

我在/ usr / share / nginx / html中有一个index.html文件。

我想指出所有ulr,例如:

 / , /a , /a/b/c , /a/ 

相同:

/usr/share/nginx/html/index.html file.

我的nginx配置如下:

server {
    listen       80;

    location /lalala/ {
        proxy_pass http://lalalalalala/;
    }

    location /proxy/bebebebe/ {
        proxy_pass https://www.bebebebe.com/;
    }

    location / {
      root /usr/share/nginx/html;
      index  index.html index.htm;
    }
}

我尝试使用这样的别名:

location / {
  root /usr/share/nginx/html;
  index  index.html index.htm;
  alias /a /usr/share/nginx/html
  alias /b /usr/share/nginx/html      
  alias /a/b/c /usr/share/nginx/html
}

但这是行不通的。

1 个答案:

答案 0 :(得分:0)

您可以使用try_files查找特定文件,如果找不到该文件,则返回index.html

例如:

location / {
    root /usr/share/nginx/html;
    try_files $uri /index.html;
}

有关详细信息,请参见this document