Добавить контекстный путь для приложения в nginx
Nginx обслуживает весь статический контент от корневого каталога до корневого URL. Например, если местоположение корневого контента настроено как /usr/share/nginx/html
который содержит файл /usr/share/nginx/html/foo.html
тогда URL http://localhost/foo.html
будет обслуживать этот HTML-файл. Я хочу добавить префикс контекстного пути в URL, чтобы http://localhost/myapp/foo.html
должен служить /usr/share/nginx/html/foo.html
файл.
Я попытался изменить местоположение и добавить псевдоним, но это дает 404.
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location /myapp/ {
alias /usr/share/nginx/html/;
}
Я тоже этого хочу http://localhost/myapp
должен служить /usr/share/nginx/html/index.html
Я использую nginx 1.12.1-alpine
изображение докера
1 ответ
Попробуй это
index index.html index.htm;
location / {
root /usr/share/nginx/html;
}
location /myapp/ {
alias /usr/share/nginx/html/;
}
Если это не сработает, попробуйте ниже
index index.html index.htm;
location / {
root /usr/share/nginx/html;
}
location /myapp/ {
alias /usr/share/nginx/html/;
try_files $uri $uri/ =404;
}
Edit-1
Если вы хотите, чтобы он работал без трейлинга /, вы должны использовать ниже
location ~ /app(/.*)?$ {
alias /usr/share/nginx/html/;
try_files $uri $uri/ =404;
}