Абсолютные и относительные пути ссылок

Сегодня поднимаю данную тему, так как вопросов о том, что значит "пропишите относительный путь к файлу" или "укажите абсолютный путь" довольно много. Значит не все новички самостоятельно разобрались, где какую ссылку прописывать и чем абсолютная ссылка отличается от относительной.

Прежде чем мы примемся разбирать тот или иной путь к файлу, давайте сделаем небольшое отступление, в котором коснемся самого URL-адреса. URL адрес используется чаще всего для работы с сайтами по протоколу http или реже https. Как выглядит Урл-адрес, всем вам известно... 

URL- адрес этой страницы http://sayt-s-nulya.ru/absolytnye_i_otnositelnye_ssylki.html. Если бы страница лежала бы в какой-то папке на сервере, например, content, то адрес был бы такой: http://sayt-s-nulya.ru/content/absolytnye_i_otnositelnye_ssylki.html.

То есть схема данного УРЛа состоит из «http», обозначающего протокол передачи данных, «sayt-s-nulya.ru» - доменного имени, «content» - папки, размещенной в корневой директории и «absolytnye_i_otnositelnye_ssylki.html» - названия страницы.

Кто-то возразит, что я упустила еще одну составную часть URL адреса - это «www», прописанное сразу после протокола. Да, действительно,  есть  такая специфика обозначения доменного имени в URL адресе сайта, которое может быть с WWW или без WWW. И для каждого сайта надо изначально определиться, какой именно вариант доменного имени должен быть основным, с «www» или без него.

Например, указав основным  sayt-s-nulya.ru, все посетители, набравшие в браузере www.sayt-s-nulya.ru, будут автоматически переадресованы на основное зеркало сайта. Как это сделать при помощи склейки зеркал, я уже писала в более раннем материале. Плюс к методам, описанным в статье, нынче можно настроить склейку зеркал самостоятельно на всех хостингах в панели управления, а бывает хостер склеивает зеркала сам автоматически.

Теперь давайте вернемся к  URL- адресу и выясним, какая часть Урла называется путем к определенному объекту. В моем случае относительным путем к данной странице является часть URL, которая расположена за доменным именем — «content/absolytnye_i_otnositelnye_ssylki.html».  То есть это файл «absolytnye_i_otnositelnye_ssylki.html», лежащий в папке «content» в корне сайта.

В то время как абсолютным путем будет полный адрес страницы, начиная с протокола:
http://sayt-s-nulya.ru/content/absolytnye_i_otnositelnye_ssylki.html.
Абсолютные пути в ссылках обычно используют только в тех случаях, когда хотят сослаться на внешние сайты, а для внутренних переходов большинство вебмастеров стараются использовать относительные ссылки. Они получаются более короткими и не утяжеляют код сайта.

Итак, почему короткий путь назван относительным? Исходя из названия, адрес web документа, на который ссылаются такие ссылки, должен быть прописан относительно того файла вашего сайта, из кода которого проставлена ссылка. Также можно использовать в качестве точки отсчета корневую папку и указывать путь к файлу относительно корневой папки.

А теперь хочу обратить ваше внимание на один нюанс, который стоит учитывать при создании как абсолютных, так и относительных ссылок. Если нужно сослаться на папку, а не на отдельный файл, то обязательно ставьте в конце такой ссылки (после ее названия) слеш «/» (косую черту).

Конкретно в Пейдже мы с этим сталкиваемся при настройке Окна публикации, загружая впервые сайт на сервер хостинга. В поле "Удаленная папка" следует закрывать корневую папку слешем. В моем случае, я напишу www/sayt-s-nulya.ru/

Т.е., я указываю серверу, что публикуемые файлы надо загрузить в папку «sayt-s-nulya.ru», созданную в корневой директории www на моем хостинге.  Если бы я прописала этот же адрес, но без слеша: www/sayt-s-nulya.ru, то сервер будет сначала пытаться найти файл с именем  «sayt-s-nulya.ru» и не найдя его, уже потом будет искать такую папку и не факт, что найдет. При этом удлиняется время публикации файлов на хостинг, так как увеличивается нагрузка на сервер.

Также следует знать, что при обращении в относительной или абсолютной ссылке к корневой папке, веб-сервер автоматически отобразит индексный файл (index.html либо index.php), который лежит в ней. Именно поэтому при наборе посетителем в браузерной строке адреса моего сайта со слешем в конце (http://sayt-s-nulya.ru/), откроется главная страница моего сайта.

И наоборот, обращение к главной странице сайта тоже по своей сути есть обращение к корневой папке, и при этом также будет запущен индексный файл. Поэтому при написании в браузере адреса http://sayt-s-nulya.ru/index.html, посетитель снова попадет на главную страницу моего сайта.

Теперь вы знаете, почему в некоторых адресах стоит на конце слеш (значит идет обращение к определенной папке на сервере) и надо ли для ссылки на главную страницу сайта дописывать после доменного имени index.html либо index.php (не надо, так как индексный файл будет открыт по умолчанию).

И в завершение информация для тех, кто самостоятельно верстает сайт либо хочет понять обозначение относительных путей ссылок в исходном коде той или иной страницы сайта. Например, почему одна ссылка в исходном коде имеет такой вид: <a href="trafik.html"></a>, а другая такой: <a href="../../papka/trafik.html"></a>.

Так вот, самый простой и короткий вариант записи относительного пути получится в том случае, когда оба файла: донор (с которого она проставляется) и акцептор (на который она ведет), находятся в одной папке на сервере. В этом случае прописывается лишь название файла (страницы), куда должен перейти посетитель: <a href="trafik.html"></a>.

Если файл акцептор лежит в определенной папке на сервере, но на одном уровне с файлом донором (то есть акцептор находится в папке «papka», а донор в папке «papka1», но обе размещены в папке «content») то пишем так: <a href="papka/trafik.html/"></a>. То есть сначала указываем название папки, в которой хранится страница или файл, а потом уже через слеш название самой страницы или файла.

А вот если акцептор расположен на уровень выше донора, то тогда ссылка будет иметь такой вид: <a href="../trafik.html"></a>. Как видите, для указания вышестоящего уровня достаточно воспользоваться специальным символом - две точки подряд, а затем привычным методом через слеш прописывается дальнейший путь к акцептору.

Если нужно проставить ссылку на акцептор, размещенный на сервере на два уровня выше, то запись будет иметь такой вид:
<a href="../../trafik.html"></a>. Бывает, что акцептор, размещенный на два уровня выше, при этом хранится в какой-то папке (например, script), то тогда в ссылку добавляется название этой папки: <a href="../../script/frafik.html"></a>. То есть, чтобы открыть файл frafik.html, надо подняться на два уровня вверх и открыть папку script, в которой он лежит.

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

Думаю, данное мини-руководство хоть немного, но прояснило ваше представление о написании ссылок и теперь вы самостоятельно сможете прописать относительный путь к тому или иному файлу на хостинге, если таковое потребуется.

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

Всем успехов и до новых встреч! С ув. Светлана (SvetLana_TSV)


                                               Добро пожаловать в проект "Сайт с нуля" !
Прежде всего данный проект предназначен для тех, кто пытается создать сайт самостоятельно, то есть для новичков. Соответственно, вся информация изложена доступно, все этапы построения сайта сопровождаются скриншотами, что позволит начинающим вебмастерам быстро и просто освоиться в этом нелегком вопросе.
Здесь вы можете скачать русские версии WebPageMaker, WordPress, Joomla, Adobe Muse, а также инструкции по установке WordPress и Joomla на хостинг и мануалы по установке тем (шаблонов) для этих CMS.

                               Всем желаю удачи и смелых воплощений идей на вашем сайте !
Проект для новичков
Пошаговое руководство для новичков по созданию,
раскрутке и монетизации собственного сайта.
WebPageMaker, Wordpress, Joomla - инструкции для
новичков по установке CMS и шаблонов к ним.
2010 - 2016 © Сайт с нуля: пошаговое руководство для новичков по созданию, раскрутке и монетизации собственного сайта. WebPageMaker, WordPress, Joomla -  русские версии.
Автор и администратор  данного проекта - SvetLana_TSV.  Копирование материалов сайта разрешено только при наличии активной ссылки на данный проект.
Главная       Скачать       Уроки        Новости        Статьи        Контакты        Карта сайта
Хочешь быть на шаг впереди и первее
остальных получать новые материалы
сайта? Тогда не забудь оставить свои
координаты: имя и электронный адрес!
ПОДРОБНЕЕ


Не забудь заглянуть в свою почту и подтвердить подписку!