@Galdar
Web, JS, PHP, NGINX, Linux

Как сделать редирект в другой каталог?

Есть такая ссылка https://domain.ru/bx/, которая делает редирект на нужный каталог /application/dist/, в нем открывается index.html, но все подключенные скрипты в этом файле пытаются обратится к https://domain.ru/, а нужно к https://domain.ru/bx/. Добавлять https://domain.ru/bx/ в src не вариант.
Какие есть варианты настройки в NGINX, чтобы направлять запрос в https://domain.ru/bx/?
location ^~ /application/ {
    return 403;

    internal;

    location ~ ^/application/dist/ {
      index index.html index.hml;
    }

  }
  
  location /bx/ {
    rewrite ^/bx/$ /application/dist/ last;
  }
  • Вопрос задан
  • 160 просмотров
Пригласить эксперта
Ответы на вопрос 2
gromdron
@gromdron
Работаю с Bitrix24
nginx тут вам особо не поможет: пересматривайте подключение скриптов на странице.
ЕСЛИ скрипты подключены по относительному пути и начинаются с символа слеш (/src.js), то такие пути будут искаться от корня сайта, а не вашей директории.
Конечно можно попробовать использовать тег base, но он тут вряд ли поможет.
Ответ написан
@dodo512
location /bx/ {
    rewrite ^/bx/$ /application/dist/ last;
}

Тут лучше применить alias
location /bx/ {
    index index.html;
    alias /var/www/application/dist/;
}

А в index.html путь к скриптам указывать уже с /bx/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы