Публикация в подпапке: относительный путь и путь от корня
Сайт, открывающийся в корне домена, может потерять ресурсы после переноса в подпапку из-за другого разрешения адресов.
Назначение
Сайт, открывающийся в корне домена, может потерять ресурсы после переноса в подпапку из-за другого разрешения адресов.
Как это работает
Путь /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. Затем проверьте реальную структуру папок и выберите последовательную схему ссылок.