Рейтинг:0

Nginx переписывает URL-адреса в одностраничном приложении

флаг cn

У меня были проблемы с этой конфигурацией nginx, и после просмотра этого сайта мне интересно, возможно ли это вообще.

У меня есть очень простое одностраничное приложение со следующей маршрутизацией:

сервер {
        слушать 80 default_server;

        корень /var/www/html;

        место расположения / {
                try_files $uri $uri//index.html;
        }
}

SPA (сайт Gatsby, если это имеет значение), обслуживаемый этой конфигурацией, содержит такие маршруты, как домен.com/о нас и domain.com/about/some-page которые обслуживают определенный контент. Однако существует более старая версия веб-сайта, которая не была SPA, и на ней есть такие страницы, как домен.com/about.html и domain.com/about.html#some-page, и они обслуживают эквивалентный контент соответственно.

Я бы очень хотел иметь возможность перенаправить домен.com/about.html > домен.com/о нас и domain.com/about.html#some-page > domain.com/about/some-page так что старые ссылки на сайт, которые уже есть в мире, все еще идут по правильному маршруту SPA, но все мои попытки создать рерайты либо просто возвращают 404, либо направляют обратно в корень.

Можно ли как переписать URL-адрес (так домен.com/about.html > домен.com/о нас), а также перенаправить этот URL на /index.html так это работает как СПА?

Рейтинг:0
флаг us

Я смог решить эту проблему, сохранив прежнюю конфигурацию nginx и перезаписав URL-адреса на стороне клиента в Gatsby с помощью Reach Router.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.