Прежде чем перейти к своей мысли и о чём я хочу рассказать, сначала поясню для тех, кто не в теме, что такое абсолютные и относительные ссылки, а также немного расскажу о теге base.
А замысел поста лишь затеить спор или дискуссию, ведь в споре рождается истина. Поэтому я надеюсь, что каждый прочитавший данный пост выскажет своей мнение в комментариях.
Я дам вам два кода ссылки на данную статью. Сначала абсолютная ссылка, которая используется на большинстве блогов и сайтов, в том числе и на данном:
http://sitestroyblog.ru/do-i-need-to-use-tag-base/
А теперь посмотрите на относительную ссылку:
do-i-need-to-use-tag-base/
Понимаете в чем разница? Если нет, то кратенько объясню. В абсолютной ссылке вместе с внутренним адресом страницы задается протокол и домен соответственно, в моём случае это http://sitestroyblog.ru/
.
В относительной же ссылке этого не указывается, а отталкивается она от введенного в браузере адреса. То есть, если я размещу на данной странице ссылку
<a href="never-click-here.html">Ведёт в никуда</a>
то при наведении на неё в строке состояния браузера вы увидите ссылку вида
http://sitestroyblog.ru/do-i-need-to-use-tag-base/never-click-here.html
что естественно вызовет ошибку при переходе по ней.
Чтобы данного недочета избежать, существует тег base, который и задает адрес, от которого будут отталкиваться все относительные ссылки. Добавляется этот тег в блок <head></head>
и выглядит следующим образом:
<base href="http://sitestroyblog.ru/" />
Вводную часть закончим и попробуем ответить на мой вопрос: целесообразно ли использовать тег base и относительные адреса вместо абсолютных?
Если говорить о моём мнение, то я считаю, что да, лучше использовать относительные ссылки. У них есть много плюсов.
1. Не придется каждый раз при указании внутренней ссылки добавлять протокол и домен. Если она выводится какой-либо функцией или переменной, то будет меньше обращений к ней, что немножко увеличит скорость загрузки сайта. Будет не очень заметно ускорение загрузки, но эффект всё же есть.
2. При смене домена уже довольно долго функционирующего сайта у меня возникла проблема с тем, что в постах домен оставался старый и пришлось редактироваться посты. Хорошо, что я хоть смог автоматизировать этот процесс. При использовании относительных ссылок такой проблемы не будет.
И ещё можно перечислить несколько плюсов при определенных условиях. Конечно, у них есть и минусы.
Например, если вводить в качестве адреса #comments
, то при относительных ссылках и использовании вышеописанного тега я увижу конечный адрес http://sitestroyblog.ru/#comments
, а не какой мы привыкли видеть.
Так какого ваше мнение, господа?
Мало кто при покупке матрацев для своей постели уделяет внимание его полезности и правильности. А ведь только ортопедические матрасы снижают нагрузку на позвоночник и обеспечивает нормальное кровообращение телу во время сна.
7 комментариев
Если делаете нормальный проект, то побоку имхо. Наоборот я бы использовал абсолютные адреса. Чтоб наверняка.
А нужен base для сателлитов, которые нужно тягать с места на место.
А вообще обычно я в своих движках определяю в конфигах константу SITE_URL и все генерирующиеся ссылки прописываю, как type/link/.
Глупый парсер вырезал перед type/link/
Вот почему предпросмотр это хорошо Ну вы поняли что там
@ Never Lex, ну приблизительно я понял что там должно было быть
Я сейчас пишу свой движок, я там использую относительные ссылки везде. Хотя, если уж выносить в массу CMS, то лучше дать пользователям выбор.
Мелочь, чтоб на такое обращать внимание
@ Назар, вся наша жизнь строится из мелочей. ;))
А по сути, хотя это и мелочь, я думаю всё же, что каждой мелочи стоит уделять хотя бы минуту внимания. Когда-то это может привести к простой, но гениальной идее.
Я использую всегда относительные ссылки, очень удобно. Друг, например, всю жизнь создавал сайты на абсолютных и не жалуется
Кстати, никто не знает команду для .htaccess, чтобы всем php-страничкам задавать «базу» без использования тега ?