ЧПУ на js с корректной обработкой перезагрузок

Рейтинг: 0Ответов: 1Опубликовано: 16.04.2023

Стоит задача реализовать ЧПУ с корректной перезагрузкой страницы.

Конкретнее:

Я меняю адрес при клике по ссылкам при помощи history.pushState У меня есть всего одна существующая страничка index.php При клике по ссылкам подставляются адреса на подобии /about и т.п. но по получившемуся адресу страницы не существует. При перезагрузке браузер пытается загрузить страницу по адресу в поисковике и выдает 404 Вот и вопрос, как это поправить.

Меня адрес при помощи обработки события beforeunload пробовал, адрес меняется но при перезагрузке используется некорректный адрес. Использовать .htaccess не хочется. Хотелось бы сделать это без вмешательства сервера. Использую нативный js, но библиотека тоже сойдет.

Ответы

▲ 0

Короче, решение я нашел.
До безобразия тупое, криво, костыльное и прочие негативные прилагательные, но тем не менее оно работает.
А выглядит оно так:

window.onbeforeunload = () => {
            setInterval(() => {
                window.location.href = "/";
            }, 1)
        };

Да, я просто заспамил изменением location.href и это сработало :D
Я попробую довести до ума этот вариант и дополню ответ, если выйдет что-то годное, а пока так.