Итак, если вы посмотрите в сгенерированную папку _site
при создании сайта локально, вы увидите, что должно быть следующее:
_site
|--about
| |--index.html
| |
...
Использование постоянной ссылки /about/
с /
в конце означает, что Jekyll создаст папку about
, а затем внутри создаст страницу index.html
.Это называется index.html
из-за исторического приоритета.Браузеры по умолчанию ищут эту страницу, когда нет конкретного файла для извлечения.
Имея это в виду, вот что происходит для каждого из этих трех вариантов:
/about
: браузер достаточно умен, чтобы знать, чтобы вставить конечный /
, и поэтому заглянет в папку /about/
.Вы не указали конкретный файл для поиска, поэтому по умолчанию он ищет index.html
.Он находит index.html
и отображает его. /about/
: то же, что и выше.Он выглядит внутри папки /about/
.Поскольку конкретный файл не был указан, он ищет index.html
.Он находит index.html
и отображает его. /about.html
: браузер специально ищет файл с именем about.html
, расположенный в корневой папке./about/index.html
есть, но это не то, что ищет браузер.about.html
не существует, поэтому выбрасывает 404.
Итак, ошибки нет.Вот как ведет себя браузер, когда вы задаете конечный код /
в URL.