Есть ли способ реализовать правильные ссылки, используя `<a href="/">` со страницами github? - PullRequest
0 голосов
/ 14 мая 2019

Как я могу заставить <a href="/"> перенаправить на https://[username].github.io/[repo] вместо https://[username].github.io/ со страницами github?

При обслуживании моего многостраничного html-сайта я получаю 404 - Not Found каждый раз, когда нажимаю ссылку <a href="/"> на своих страницах. Вместо перенаправления на https://mepley.github.io/github-pages-redirect-to-index/, где найден index.html, я вместо этого перенаправлен на https://mepley.github.io/ и, таким образом, получаю сообщение 404 - Not Found.

Вот ссылка на сайт, посвященный github-страницам, для демонстрации проблемы (подается из master branch): https://mepley.github.io/github-pages-redirect-to-index/

Моя конечная цель - просто использовать <a href="/"> из другого html-документа и перенаправить обратно на index.html. ВАЖНО: Я НЕ хочу соглашаться на любую другую стратегию, такую ​​как <a href="/index.html"> или <a href="./"> или <a href="../"> в качестве относительных ссылок.

Причина, по которой я непреклонен в использовании только "/", заключается в том, что я создаю шаблонную конфигурацию веб-пакета для создания статических веб-сайтов впервые, начинаю программистов развертывать простой веб-сайт на страницах github, и я бы предпочел не необходимость объяснения этой идиосинкразии людям, которые только учатся и уже смущены с самого начала.

Я пытался использовать теги <base href="https://mepley.github.io/github-pages-redirect-to-index">, но это не решило проблему. Я пробовал и другие теги <base>, но безрезультатно (но, может, я что-то не так сделал?) . И, как объяснено в моем комментарии ниже, я также знаю, что относительные ссылки с текущей страницы (то есть <a href="../">) на самом деле будут перенаправлять на правильную домашнюю страницу, но это все же НЕ отвечает на мой вопрос, к сожалению.

Вот только два файла, необходимых для демонстрации этой проблемы:

index.html

<!DOCTYPE html>
<html>
  <body>
    This is index.html
    <a href="./another-page.html">goto another-page.html</a>
  </body>
</html>

другой-page.html

<!DOCTYPE html>
<html>
  <body>
    This is another-page.html
    <a href="/">go back to index.html</a>
  </body>
</html>

Ожидаемый результат заключается в том, что я нажимаю на ссылку <a href="/"> в another-page.html, и он перенаправляет меня обратно на https://mepley.github.io/github-pages-redirect-to-index/ и находит index.html вместо https://mepley.github.io/ с ошибкой 404, как в настоящее время происходит.

Любая помощь по этому вопросу будет принята с благодарностью!

Также вот ссылка на репо для сайта: https://github.com/mepley/github-pages-redirect-to-index

1 Ответ

2 голосов
/ 14 мая 2019

Лучшее решение - это то, что вы не хотели делать: <a href="/index.html"/>. Пожалуйста, объясните, почему вы не хотите этого делать. Это всего 10 дополнительных символов.

...