Вебсправочник
Ваш первый сайт

Публикация в подпапке: относительный путь и путь от корня

Сайт, открывающийся в корне домена, может потерять ресурсы после переноса в подпапку из-за другого разрешения адресов.

Назначение

Сайт, открывающийся в корне домена, может потерять ресурсы после переноса в подпапку из-за другого разрешения адресов.

Как это работает

Путь /assets/style.css начинается от корня источника, а assets/style.css — от базового адреса документа. Завершающая косая черта у адреса страницы тоже влияет на разрешение относительных ссылок.

Пример

const base="https://example.com/demo/";
console.assert(new URL("assets/style.css",base).pathname==="/demo/assets/style.css");
console.assert(new URL("/assets/style.css",base).pathname==="/assets/style.css");

Что должно получиться

Один ресурс остаётся в подпапке demo, другой начинается от корня сайта. Создание URL не выполняет запрос, поэтому этот этап безопасно изучать отдельно от публикации.

Граница применения и частая ошибка

Не заменяйте все пути механически без проверки места публикации. Если страницы имеют разную глубину, единая относительная строка может вести в разные каталоги.

Самостоятельная проверка

Сравните разрешение ресурсов для /demo/ и /demo/page.html через new URL. Затем проверьте реальную структуру папок и выберите последовательную схему ссылок.

Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.