Перейти к содержанию
СофтФорум - всё о компьютерах и не только

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


Рекомендуемые сообщения

Что на сайте лучше использовать: абсолютные или относительные ссылки?

С какими меньше проблем, или нет разницы.

Ссылка на комментарий
Поделиться на другие сайты

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

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

Ссылка на комментарий
Поделиться на другие сайты

_Sash@:

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

Gray Angel:

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

Ссылка на комментарий
Поделиться на другие сайты

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:

Ссылка на комментарий
Поделиться на другие сайты

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

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

Shurr:

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

Ссылка на комментарий
Поделиться на другие сайты

_Sash@

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

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

Ссылка на комментарий
Поделиться на другие сайты

Shurr:

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

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

D:/Web/Pictures/image.gif

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

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

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

Или так

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

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

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

Ссылка на комментарий
Поделиться на другие сайты

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

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

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

/images/111.gif

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

Ссылка на комментарий
Поделиться на другие сайты

Да это так

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

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

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...