1.8.4.2 Внутренние ссылки
Данный тип ссылок используется для навигации по вашему сайту. Такие ссылки ещё называют относительными, потому что они ссылаются на ваши каталоги или файлы относительно вашего же сайта. Причем домен вашего сайта и его расположение роли не играют. Используя относительные ссылки в вашем коде вы можете спокойно изменить домен и ваши ссылки продолжат работать. Поэтому не стоит делать навигацию по вашему сайту с помощью абсолютных ссылок, т.к. при смене домена вам придётся переделывать все ссылки вашего сайта, что весьма затруднительно, особенно, когда сайт крупный.
Есть три приёма навигации по вашему сайту. Первый из них - это сослаться на корень вашего сайта. Такие ссылки начинаются со знака /
. После этого знака располагается путь от корня сайта. Например, запись /index.html
ссылается на файл index.html
, лежащий в корне вашего сайта. Запись /pages/page.html
ссылается на файл page.html
, который лежит в папке pages
, которая расположена в корне вашего сайта. Стоит отметить, что не стоит использовать ссылки на корень сайта, когда ваш сайт ещё лежит на вашем компьютере. Для операционной системы Windows такая запись будет бессмысленной и он выдаст ошибку, а на Unix подобных системах вы сошлётесь на корневой каталог вашей системы, и скорее всего, этот файл не будет найден (если, конечно, по этому адресу у вас действительно не лежит эта страница). Поэтому, пока ваш сайт не будет расположен на сервере, пользуйтесь следующими двумя приёмами.
Второй приём навигации по сайту - это ссылка относительно текущего документа, в котором эта ссылка расположена. Допустим, страница расположена по адресу /pages/page.html
и вторая страница по адресу /pages/contacts.html
. Чтобы со страницы page.html
сослаться на страницу contacts.html
, нужно написать ссылку вида contacts.html
(обратите внимание на отсутствие /
в начале ссылки). В этом случае в том каталоге, в котором лежит файл page.html
, будет искаться файл по указанному пути. В данном случае - это файл contacts.html
. Аналогичным способом можно сослаться на каталоги, расположенные в данной папке. Например, чтобы сослаться из файла /pages/page.html
на файл /pages/old/error.html
, в первом файле необходимо указать ссылку вида old/error.html
.
И третий приём - это ссылка на вышестоящие каталоги в дереве каталогов. Допустим, вам нужно сослаться со страницы /pages/page.html
на страницу /index.html
. Для этого нужно выйти из каталога pages и найти там страницу index.html
. Для выхода из каталога используется запись ../
и итоговая ссылка, которая должна быть размещена на странице page.html
, и будет выглядеть так: ../index.html
. Аналогично делается, если вам нужно выйти из нескольких каталогов. Например, вам нужно сослаться со страницы /pages/old/error.html
на index.html
. Ссылка для этого будет выглядеть так: ../../index.html
.
Подведём итоги. Чтобы сослаться на корень сайта и искать файл относительно него, в начале ссылки размещают /
. Далее переход по каталогам осуществляется перечислением необходимых каталогов с указанием после каждого из них знака /
. Необходимый файл указывается в конце. Если не ссылаться на корень, то навигация осуществляется относительно текущего каталога и знак /
в начале не указывается. Если необходимо выйти из каталога, то в ссылке прописывается ../
.