Jump to content
  • 0

Ссылки, href - относительные и абсолютные, правильность написания


cmndr_alexgreen
 Share

Question

Наткнулся на новую рекомендацию написания относительной ссылки, и в общем задумался о самом правильном и грамотном отображении линков. Поскольку код пишу непосредственно в файле на хостинге, сам всегда использую абсолютные ссылки (к примеру a href="//www.site.ru"), Но знаю что многие верстают на домашней машине и там же проверяют, соответственно используют относительные ссылки.

Отцы профессионалы, перечислите самые правильные варианты написания ссылок, желательно с примерами.

_________

Собственно видел такие варианты относительных ссылок:

a href="../img/picture.jpg"

a href="./img/picture.jpg"

a href="/img/picture.jpg"

Edited by cmndr_alexgreen
Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Это я понял), что они работают. Но вот, что мне интересно - существует ли какие либо рекомендации по форме написания ссылок (с абсолютными понятно, интересует именно относительные).

Собственно представим что у сайта несколько папок в которых лежат страницы, а css один в корне. Или пункты меня на относительных ссылках, опять же разбросанные по папкам. Обычно я, что бы не задумываться на эту тему, просто везде прописывал абсолютный адрес а как правильно работать с относительными.

Link to comment
Share on other sites

  • 0

Если это статичный HTML сайт, то можно задать тег base, и задавать все ссылки относительно него. Ссылки а-ля "../../x/y.html" тоже подойдут, но это лишняя путаница.

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

Если сайт на PHP, то можно задать некую переменную а-ля $baseurl, содержащую путь к корню сайта, и использовать ее. Похожим образом это работает в цмсках.

используйте $_SERVER["HTTP_HOST"];


<link rel="stylesheet" type="text/css" href="http://<?=$_SERVER["HTTP_HOST"];?>/style.css" />

А если сайт будет перенесен в подкаталог, во всех файлах придется менять пути?

Link to comment
Share on other sites

  • 0

Если это статичный HTML сайт, то можно задать тег base, и задавать все ссылки относительно него. Ссылки а-ля "../../x/y.html" тоже подойдут, но это лишняя путаница.

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

Если сайт на PHP, то можно задать некую переменную а-ля $baseurl, содержащую путь к корню сайта, и использовать ее. Похожим образом это работает в цмсках.

Да мы рассматриваем простые статичные страницы, без php. Да и как-то сложновато это звучит)), мне проще по старому добавлять к названию документа абсолютные координаты).

А так конечно непонятно, я думал существует какое-то правило ну на крайняк рекомендация, как именно должны быть организованны ссылки

Самым гибким по моему мнению является абсолютное указание - "/". Если страницу перенести, относительные ссылки придется править.

Да это на много логичнее, но если верстка происходит на локальной машине, да еще и в ручную, то могут возникнуть проблемы.

Link to comment
Share on other sites

  • 0

Самым гибким по моему мнению является абсолютное указание - "/". Если страницу перенести, относительные ссылки придется править.

Да это на много логичнее, но если верстка происходит на локальной машине, да еще и в ручную, то могут возникнуть проблемы.

Я уже предлагал вариант замены "/" на тег base (см. ссылку). Имхо, самый гибкий способ для статичных файлов.

А PHP, кстати, можно подключить просто для облегчения управления HTML структурой сайта. Например, если инклудить header.php на всех страницах, то для добавления нового блока или пункта меню в хедер будет достаточно отредактировать всего один файл, а не десяток.

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.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   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

  • Similar Content

    • By Азат313
      помогите с вопросом плес , застрял, не могу продолжить

    • By edem7778
      прювет) перейду сразу к вопросу...
      Есть ссылка
      <a title="" href="../ind_rus/palomnichestvo/#12apr" rel="nofollow"> Подробнее...</a> 
      при переходе по этой ссылке нужно что бы выполнялся этот скрипт
      javascript:collapsElement('identifikator4')
       
      Можно ли в href засунуть эти два значения?
      например(не правильно):
      <a title="" href="../ind_rus/palomnichestvo/#12apr;javascript:collapsElement('identifikator4')" rel="nofollow"> Подробнее...</a> 
      Теперь напишу по другому, на всякий случай))
      На открывшейся странице у меня несколько блоков, в одном из них у меня есть раскрывающийся текст, он раскрывается по кнопке с кодом "<a title="" href="javascript:collapsElement('identifikator4')" rel="nofollow">Читать далее...</a> "
      Хочу сделать что бы при загрузке именно с данной страницы где кнопочка "подробнее..." выполнялось раскрытие текста
    • By konstpon
      Подскажите, пожалуйста, как исправить вот этот глюк? (см. рисунок)
      http://clip2net.com/s/2Umh5
      В Мозилле и Опере все отображается нормально, в Хроме показывает вот эту ненужную рамку, а в IE (как всегда) вообще кошмар.
      На IE мне вообще пофиг, но вот как сделать так, чтобы в Google Crome рисунок-ссылка тоже отображался нормально, без вот этой дурацкой серой обрамляющей рамки?
      Перерыл уже весь Интернет - везде один и тот же совет - в свойствах рисунка поставить border=0px
      Поставил этот border = 0 везде, где только можно и в свойствах DIV и в свойствах ссылок, и в свойствах рисунка - не помогает. Видимо это делается как-то иначе. Как?
      Ведь, теоретически это сделать как-то возможно! Вот на этой гугловской странице полно таких вот рисунков ссылок, без таких вот серых обрамляющик рамок вокруг картинок-ссылок.
      Вот так тоже уже пробовал - не помогло...
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy