Jump to content
СофтФорум - всё о компьютерах и не только

Относительные или абсолютные ссылки


Recommended Posts

Впринципе разницы абсолютно нет.

Но если ты к примеру пишешь сайт на ПХП, и держишь меню в отдельном файле, на который потом делаешь инклуд, то в этом файле лучше использовать абсолютные линки

Link to comment
Share on other sites

_Sash@:

Относительные. При смене домена или переносе на другой уровень домена на сайте это не скажется.

Gray Angel:

Если у тебя оптическая мышь, то лучше пользоваться Internet Explorer'ом, если с шариком - то Firefox'ом. Думаю, у многих возник вопрос "почему"? Вот и у меня, глядя на твой комментарий, возник тот же вопрос. Можешь разъяснить свое высказывание?

Link to comment
Share on other sites

Cсылки абсолютные, но ведущие отсчет от корня сайта, например "/news/current.html", действительно лучше использовать в случае применения инклудов. Поясню на примере. Допустим есть корневой файл index.jsp (каждый пишет на чем может ;) ) и файлы разделов, находящиеся в папках, например "/news/index.jsp". Так вот, если инклудить меню, (или любой другой элемент страницы со ссылками), то относительная ссылка, например "current.jsp" в первом случае она приведет к файлу "/current.jsp", а во втором - "/news/current.jsp". Поэтому подобные ссылки лучше писать от корня сайта.

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

Ссылки же, являющиеся абсолютными с полным указанием пути, типа "http://mysuperrulezzsite.com.ru/news/current.html" следует давать только на чужие сайты. Использование таких ссылок для внутренней навигации по сайту считается дурным тоном и влечет за собой многочисленные проблемы, начиная от сложностей при локальной отладке, и заканчивая необходимостью массового редактирования ссылок при смене адреса сайта.

P.S. И только Microsoft Word, плюя на все правила хорошего тона, задает ссылки на файлы в виде "C:/work/index.html" ... :no:

Link to comment
Share on other sites

Вообще я зачем это спросил?

Пользуюсь движком Mambo Open Source (если кто слышал) и там когда хочу че-нибудь ручками "дописать" надо писать ссылочку. В ней (mambo) многие ссылочки прописываются как к примеру:

<img src="<?php echo "$GLOBALS[mosConfig_live_site]/templates/$GLOBALS[cur_template]/images/"... ?>
Ссылки же, являющиеся абсолютными с полным указанием пути... ...использование таких ссылок для внутренней навигации по сайту считается дурным тоном и влечет за собой многочисленные проблемы, начиная от сложностей при локальной отладке, и заканчивая необходимостью массового редактирования ссылок при смене адреса сайта.

То здесь, по ходу, проблем не возникнет сильных, как я понимаю в переменную $GLOBALS[mosConfig_live_site] сохраняется текущий URL, иакой бы адрес у сайта не был, будет работать. Может я ошибаюсь, поправьте, если че :). Зелен я еще в этом.

Link to comment
Share on other sites

Shurr:

Вот, путаница в понятиях к чему приводит. :( Я всегда считал, что ссылка "/news/current.html" самая что ни на есть относительная, т.к. она представлена относительно корня сайта.

Link to comment
Share on other sites

_Sash@

То здесь, по ходу, проблем не возникнет сильных, как я понимаю в переменную $GLOBALS[mosConfig_live_site] сохраняется текущий URL, иакой бы адрес у сайта не был, будет работать.

Если адрес сайта формируется динамически - то можно и так и так делать, на твой выбор.

Link to comment
Share on other sites

Shurr:

Вот, путаница в понятиях к чему приводит. :) Я всегда считал, что ссылка "/news/current.html" самая что ни на есть относительная, т.к. она представлена относительно корня сайта.

Насколько я помню основы ПК – абсолютный путь к файлу записывается так:

D:/Web/Pictures/image.gif

Он задан абсолютно, т.е. неизменно из любах точек, машина сразу найдет диск D, потом пойдет в папку Web и т.д.

А относительный путь (относительно текущего расположения файла) указывается:

../ Pictures/image.gif – т.е мы вышли из исходной папки и оказались рядом с папкой Pictures, которая находится вместе с исходной папкой в одном каталоге, ну за тем туда и…

Или так

/ляляля/блабла/image.gif – (относительно настоящего положения файла) в то-же каталоге, где лежит файл с прогой создана папка ляляля, заходим туда и…

Мне кажется что так объясняются относительные и абсолютные ссылки.

А то что-то сомнение закралось.:)

Link to comment
Share on other sites

Насколько я помню основы ПК – абсолютный путь к файлу записывается так:

D:/Web/Pictures/image.gif

Он задан абсолютно, т.е. неизменно из любах точек, машина сразу найдет диск D, потом пойдет в папку Web и т.д.

А относительный путь (относительно текущего расположения файла) указывается:

../ Pictures/image.gif – т.е мы вышли из исходной папки и оказались рядом с папкой Pictures, которая находится вместе с исходной папкой в одном каталоге, ну за тем туда и…

Или так

/ляляля/блабла/image.gif – (относительно настоящего положения файла) в то-же каталоге, где лежит файл с прогой создана папка ляляля, заходим туда и…

Мне кажется что так объясняются относительные и абсолютные ссылки.

А то что-то сомнение закралось.

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

Дело в том, что в html запись /ляляля/блабла/image.gif обозначает адресацию не от текущей папки, а от корня. На вебе - от корня сайта. Т.е. независимо от того, в какой папке находится текущая страница, такая ссылка приведет к адресу адрес_сайта.домен/ляляля/блабла/image.gif . Кстати, в Windows (локально) такая ссылка в html не будет работать вообще. Windows просто не найдет папки в корне, без указания диска.

Если же нужна относительная адресация - то надо писать без первого слеша, например, ляляля/блабла/image.gif, или, если необходимо перейти выше по дереву папок, то начиная с "..", например ../ляляля/блабла/image.gif

Link to comment
Share on other sites

Shurr, значит мне не надо морочить голову с ссылками типа

<img src="<?php echo "$GLOBALS[mosConfig_live_site]/templates/$GLOBALS[cur_template]/images/"... ?>

А просто ссылаться на нужную мне папку (создам отдельно в корне images), как

/images/111.gif

То ЕСТЬ независимо от имени_сайта.домен, я из любой точку попаду в нужную мне директорию и найду документ?

Link to comment
Share on other sites

Да это так

Также например если тебе надо спуститься на папку две три и т.д ниже нужно в самом начале пути прописывать ../

каждый знак ../ означает спуститься на директорию ниже

это удобно применять если на твоём сайте сложная структура и

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

И такой подход экономит много времени и места

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...