Как обслуживать разные URL одним файлом в nginx - PullRequest
0 голосов
/ 25 января 2019

Я использую Docker-контейнер для обслуживания HTML и некоторых других файлов. нет внутреннего сайта. Я просто сервер несколько статических файлов.

Мне нужно указать несколько разных URL на одну папку.

У меня есть один файл index.html в /usr/share/nginx/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 голосов
/ 25 января 2019

Вы можете использовать try_files для поиска определенного файла и возврата index.html, если этот файл не найден.

Например:

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

Подробнее см. в этом документе .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...