href заменяет url полностью, а не добавляет в конец

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

Есть кнопка с href="/about".

На локалке URL меняется нормально, т.е. содержимое href добавляется в конец.

На github pages URL выглядит так: (http's://ИМЯ.github.io/РЕПОЗИТОРИЙ/), т.е. добавляется еще название репозитория. По нажатию на кнопку с вышеупомянутым href, URL меняется на (http's://ИМЯ.github.io/about), что влечет проблему с роутингом.

Собственно, как сделать так, чтобы название репозитория оставалось? пример: (http's://ИМЯ.github.io/РЕПОЗИТОРИЙ/about)

Менять слэш на хэш нельзя, нужно работать именно с pathname а не hash

Ответы

▲ 1Принят

Надо сделать href="about", без слэша /.

Так как файловая система GitHub Pages отличается от файловой системы локального сервера (или локальной файловой системы), лучше либо не использовать корневые директории*, либо переписывать код для GitHub Pages, когда вы загружаете его на GitHub Pages.

Но, есть один момент: если вы загружаете сайт в корневую директорию* GitHub Pages (в репозиторий вашего аккаунта ИМЯ.github.io), то там можно оставить /, потому что там корневая директория будет ИМЯ.github.io/ без названия репозитория, и при любой ссылке в этом репозитории, всё будет ссылаться на корневой репозиторий, поэтому там можно не убирать /.

* директория = папка.

*Если вам что-то не нравится, оставьте комментарий, и я улучшу ответ.