nginx неправильно загружает CSS/JS при переходе к маршрутам с более чем одной косой чертой

У меня проблема с nginx, обслуживающим файлы моего статического веб-сайта (CSS и JS), когда вы переходите на любой маршрут с более чем одной косой чертой. Например, example.com/test работает, но example.com/test/test попытается загрузить css/js с example.com/test/ {.css|.js} вместо корневого каталога.

Для контекста я использую React и ReactRouter на этом сайте.

Конфигурация nginx

server {
    listen 80;

    server_name example.com;

    root /var/www/example.com;
    index index.html;

    rewrite ^.*$ /index.html;

    location / {
        try_files $uri /index.html;
    }
}

person Matthew Downs    schedule 18.09.2020    source источник
comment
Где вы указываете имя файла CSS/JS. Вам нужно поставить / впереди.   -  person Richard Smith    schedule 18.09.2020
comment
Да, это была проблема. Я нашел решение здесь: stackoverflow.com/questions/43191569/   -  person Matthew Downs    schedule 18.09.2020


Ответы (1)


Выяснилось, что html-webpack-plugin не поставил / перед активами, потому что publicPath не было установлено в выходных данных.

Смотрите ответ здесь: html-webpack-plugin и webpack 2: нет начальный слэш '/'

person Matthew Downs    schedule 18.09.2020