Программирование на Python и Objective-C в Mac OS

Программирование на Python и Objective-C под Mac OS и для iPhone / iPod Touch

Абсолютные относительные и динамические ссылки: Абсолютные, относительные и динамические ссылки на сайте

Содержание

Абсолютная и относительная ссылка в сео




– Автор:

Игорь (Администратор)

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

 

Что такое абсолютная и относительная ссылка?

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

 

Абсолютная ссылка это

Абсолютная ссылка — это ссылка, в которой в качестве адреса указан полный URL страницы, включая протокол, название домена и прочее.

Вот пара примеров::

<a href="https://siie1/page1.html">Страница 1</a>
<a href="http://www.siie1/blog/page2.php">Страница 2</a>

Говоря простыми словами, от исходной точки до конечной.

 

Относительная ссылка это

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

Допустим, исходная открытая страница (в которой расположены ссылки) это https://site/category1/category2/page1.html

<a href="//siie/page1.html">Ссылка без указания протокола - используется https из текущего адреса</a>
<a href="https://siie/page1.html">В абсолютном виде</a>
<a href="/cat3/page1.html">Открыть страницу от корня сайта - используется "https://site/"</a>
<a href="https://siie/cat3/page1.html">В абсолютном виде</a>
<a href="/../page1.html">Переместится на 1 уровень вверх - используется "https://site/category1/"</a>
<a href="https://siie/category1/page1.html">В абсолютном виде</a>
<a href="/page1.html">Текущий уровень вложенности - используется "https://site/category1/category2/"</a>
<a href="https://site/category1/category2/page1.html">В абсолютном виде</a>

Говоря об относительных ссылках, нельзя не упомянуть про метатег base. Его основное предназначение изменить базовый адрес. Например, если нужно, чтобы в каждой странице он был в корне сайта, то метатег будет выглядеть так (рекомендуется располагать в head):

<base href="https://site/">

Примечание: Кстати, метатег base так же может быть c относительным адресом. Вообще, с ним масса нюансов (например, JS-редиректы через window.location.href, стили вставленные в html и т.п.), но это выходит за рамки данного обзора. Поэтому перед использованием советую ознакомиться с base более детально.

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

Теперь, более детально рассмотрим плюсы и минусы.

 

Плюсы и минусы абсолютных ссылок

Плюсы абсолютных ссылок:

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

2. Меньше проблем с адресацией. Так как ссылка содержит полный путь, то, например, добавление мета тега base (о котором чуть ранее упоминал) вряд ли приведет к каким-либо проблемам.

3. Меньше проблем с RSS. Суть в том, что приемник RSS (который читает ленту) «не особенно знаком» со структурой сайта источника. Поэтому он не сможет (и вероятнее всего не будет) преобразовать относительную ссылку в абсолютную.

4. При изменении структуры сайта проще решаются отдельные ошибки. В основном из-за того, что адрес ссылки указан полностью. Например, если исходная страница «page1.html» находится в категории «/blog/» и она ссылается в страницу с тем же уровнем, допустим, «page2,html» через относительный путь без слешей и прочего (как результат «/blog/page2.html»), то, при переносе исходной страницы из «/blog/» в «/cat3/», она начинает ссылаться не в «/blog/page2.html», а в «/cat3/page2.html» (из-за относительности). В таких ситуация не всегда просто определить где искать страницу «page2.html», нежели как это происходит при использовании абсолютных ссылок.

5. Меньше проблем при копировании и использовании фрагментов контента. Допустим, вы хотите сделать рассылку части обзора. Если внутри используются абсолютные ссылки, то «учтете вы или не учтете, что ссылки внутри необходимо проверять» не вызовет проблем. В случае же с относительными проблемы вполне могут быть (как минимум, когда смотришь html-письмо, то базовым адресом не является сайт из письма).

Справедливости ради, отмечу, что существует расхожее мнение о том, что поисковики, такие как Яндекс и Google, лучше воспринимают «абсолютные ссылки», но каких-либо источников, подтверждающих это со стороны поисковиков, «вроде как» не встречается (кроме того поисковики сами используют относительные адреса, но об этом чуть позже).

Минусы абсолютных ссылок:

1. Редиректы с WWW/без WWW, а так же http/https создают массу проблем. Рассмотрим суть проблемы. Допустим, вы решили вместо http использовать https. Для этого вы настроили редирект. И если многие динамические элементы легко переформировать (или вообще это делается автоматически). Например, обычно в менюшках у CMS вставляется в начало URL страницы тот адрес и с тем протоколом, которые были заданы в конфигурационном файле. То, вот в случае обычного контента возникает проблема. Дело в том, что исходные ссылки-то были в http. Это означает, что открытие любых страниц из контента будет приводить к лишним задержкам (из-за необходимости редиректа). Не говоря уже о том, что пользователи будут копировать ссылки в старом варианте, что так же означает необходимость редиректа, при переходе в сайт из другого ресурса.

Примечание: Так же советую почитать обзор про значение скорости для поисковых систем.

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

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

4. Усложняют html и могут влиять на скорость. Во-первых, чем больше и длиннее адреса, тем менее читабельным становится html-код. Банально потому, что это много повторяющихся и громоздких кусков текстов. Во-вторых, полные пути это необходимость дублировать одни и те же куски, что увеличивает размер. Может казаться, что это не особенно важно, однако если у вас 200 ссылок (картинки, ссылки в страницы и т.п.) и в каждой из них 50-100 символов (100 при длинных URL) заданы из-за абсолютных путей, то это означает примерно 10-20Кб дополнительного кода в html. Вроде бы немного, но тут важен фактор «с миру по нитке, вот и рубаха».

 

Плюсы и минусы относительных ссылок

Плюсы относительных ссылок:

1. Гибкость. Не только из-за того, что нет необходимости полностью указывать URL, но и из-за наличия модификаторов, которые позволяют создавать достаточно сложные вариации адресации.

2. Краткость. Обычно, такие ссылки существенно короче. Например, «page2.html» короче «https://site/cat1/cat2/page2.html» более чем в 3 раза.

3. Читаемость. Как не сложно догадаться из первых двух пунктов, относительные ссылки существенно легче воспринимаются.

4. Отсутствие проблем с WWW и http/https. Конечно, если речь не идет о ссылках без указания протокола (в этом случае могут возникнуть проблемы из-за WWW).

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

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

7. Нередко проще менять структуру сайта. Конечно, это во многом зависит от грамотности ее организации, вариантов адресации в ссылках и характера переделки структуры, но все же чаще это сделать проще.

Минусы относительных ссылок:

1. Необходимость постоянно учитывать используемые подходы для построении относительных ссылок. В отличии от абсолютных ссылок (где, кстати, подобное так же может требоваться), с относительными несколько сложнее. Банально тот же метатег base при полных путях никак не отразится, а вот с относительными его использование быть существенным (в плане адресации и доступности страниц).

2. Отсутствие защиты от парсеров. Как не сложно догадаться, при копировании контента с относительными ссылками, они не приведут к увеличению доноров.

3. Могут сложнее решаться проблемы с адресацией. Конечно, сильно зависит от подхода, но если, например, изменили структуру полгода назад, не скорректировали ссылки и нет бэкапов (настоятельно рекомендую уделять этому время), то понять в какие страницы контекстные ссылки должны ссылаться сложнее, чем в случае с полными путями. Тут важно понимать, что у больших сайтов нередко бывает по нескольку (а то и десятков) обзоров, которые пересекаются тематикой (в стиле «как выбрать когтеточку», «какие бывают когтеточки», «какие когтеточки больше нравятся пушистикам — эксперимент» и т.п.).

4. Требуют от пользователей понимания. Суть в том, что с абсолютными ссылками сложнее создать запутанную адресацию, так как ссылка содержит полный путь (адресация может быть «кривой», но понять «что и где» несложно). А вот с относительными сделать это существенно проще, так как они подразумевают гибкость.

 

Что лучше, абсолютные или относительные ссылки?

Вообще вопрос «что лучше, абсолютные или относительные ссылки» звучит так, как будто ищется какая-то универсальная панацея для продвижения. Но, а данном случае ее просто не может быть. Утрируя, это не выбор между «только уникальный контент» или «только копипаст».

Во-первых, важно понимать, что поисковые системы меняют свои требования к сайтам от года к году. Иными словами, что могло быть важно год назад (и это подтверждали сео эксперименты), может быть неважным сегодня (и наоборот). Во-вторых, эти возможности html прописаны стандартами и их используют все сайты. Поэтому просто так требовать, чтобы половина (плюс/минус) из них вдруг поменяла подход к адресации — это несколько нереально. Утрируя, это же не «перестаньте напихивать ключевики в тексты» (такие вещи бесполезны пользователям и только захламляют интернет). В-третьих, требования каждого сайта могут быть уникальными. Например, та же защита от парсеров подразумевает использование полных путей (в комплексе с остальными методами). А для сайтов, стремящихся максимально уменьшить размер страницы (чтобы они быстрее открывались), относительные ссылки будут в приоритете. В четвертых, замена адресации это обычно много времени и сил (особенно, если сайт сложный).

Тут стоит понимать, что существуют как большие сайты с абсолютными ссылками (например, хабр, VC), так и с относительными (например, социальная сеть ВК, YouTube, Википедиа). Поэтому не стоит относиться к этому как к особо значительному критерию, тем более, что в плане сео продвижения существуют более важные моменты, чем «какие там у вас пути в ссылках». Например, те же поведенческие факторы.

Примечание: Интересный факт, в момент написания обзора у поисковиков Яндекс и Google справочная система использует относительные ссылки. 

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

Так же советую ознакомиться с обзорами: открытые и закрытые ссылки и обмен ссылками.

Понравилась заметка? Тогда время подписываться в социальных сетях и делать репосты!

☕ Хотите выразить благодарность автору? Поделитесь с друзьями!

  • Что такое Punycode?
  • Кликджекинг: что такое?
Добавить комментарий / отзыв

Что такое URL адреса, чем отличаются абсолютные и относительные ссылки для сайта

Обновлено 16 мая 2021

  1. Урл адреса — что это и как влияют на индексацию
    1. URL и URI
    2. WWW и другие зеркала сайта
    3. Откуда берутся лишние URL-адреса (дубли)
  2. Структура Урл адреса
    1. Адреса в виде хеш-ссылок
    2. Какие символы можно использовать в URL-ах?
  3. Относительные и абсолютные ссылки
    1. Чем хороши относительные ссылки
    2. Создаем ссылки относительно документа
    3. Создание ссылки относительно корня
    4. Как правильно сослаться на папку

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

Конечно же, тема формирования Урлов или их более расширенной версии URI (ури) довольно сложна, если копать глубоко и пытаться добраться до истины.

Но нам этого и не нужно, ибо достаточно понимать структуру URL в ее прикладном применении.

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

Урл адреса — что это и как они влияют на индексацию сайта

Итак, давайте посмотрим что такое URL, зачем он нужен и из каких частей состоит. Как вы знаете, поисковые системы производят индексацию сайтов ни как единого целого, а как совокупность отдельных страниц. Они потом будут участвовать в ранжировании по различным поисковым запросам (читайте подробнее о подборе ключевых слов в Вордстате на основе статистики запросов Яндекса.

URL и URI

Ну так вот, любой документ (вебстраница) в сети интернет имеет свой уникальный адрес URL, который расшифровывается как Uniform Resource Locator (определитель местонахождения ресурса). Он, равно как и протокол HTTP, а еще и как язык Html с валидатором W3C, был разработан и создан одним и тем же человеком — Тимом Бернерсом-Ли (отцом основателем проекта Всемирная паутина WWW — World Wide Web).

По большому счету URL является частным случаем другого идентификатора под названием URI (Uniform Resource Identifier — унифицированный идентификатор ресурса), но нам с вами все эти тонкости, скорее всего, будут не нужны (излишни) при работе со своим сайтом. Давайте попробуем в общих чертах разобраться с тем, что это такое и из каких частей он состоит, а потом перейдем к относительным и абсолютным ссылкам.

URL адрес — это способ однозначно указать на что-то в интернете. Он используется не только для работы с сайтами (что это?) по протоколу http (еще и по ftp), но нас, конечно же, будет интересовать именно применение этого идентификатора к Web (протоколы http и https). Урл в этом случае будет выглядеть примерно так (чуть ниже я приведу общую блок-схему его построения, но пока хотелось бы начать с простого частого примера):

https://ktonanovenkogo.ru/papka/fail.html

В этом примере адреса часть с «http» обозначает протокол передачи данных или же, если следовать терминологии спецификации, схему (ибо тот же mailto не является протоколом передачи данных, в отличии от http или ftp, но тоже используется в Урл адресах). Далее в приведенном примере следует «ktonanovenkogo.ru» (или же это может быть «www.ktonanovenkogo.ru») — это так называемое доменное имя или же имя узла (хоста).

WWW и другие зеркала сайта, которые нужно склеить

В Web-е есть специфика обозначения доменного имени в URL адресе сайта, которое может быть с WWW или без WWW. Для того, чтобы успешно можно было раскрутить свой сайт, очень важно склеить эти два зеркала вашего сайта с WWW или без него через 301 редирект. Зачастую, склейку зеркал за вас может выполнить хостер, но это обязательно нужно будет проверить.

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

Тоже справедливо и при переезде сайта на защищенный протокол https с http — для поисковиков это будет уже другой сайт.

Ничего плохого в использовании WWW в URL сайта нет, но нужно четко определить главное зеркало (через Яндекс Вебмастер и через Гугл Вебмастер, а также через прописывание директивы Host в файл robots.txt вашего сайта), которое будет индексироваться поисковиками и которое будет участвовать в ранжировании.

У меня, например, главное зеркало — это «ktonanovenkogo.ru», т.е. «без атавизма», и если вы добавите к любому моему Урлу эту чудо-приставку, то произойдет автоматическое перенаправление на адрес «без WWW».

https://www.ktonanovenkogo.ru/papka/fail.html

Склеить можно не только описанные выше зеркала, но и любые другие доменные имена, принадлежащие вам. Например, если возможно различное написание латинскими буквами какого-либо известного бренда, то покупаются все возможные домены (варианты написания с ошибками, в разных доменных зонах и т.п.) и склеиваются между собой. Тогда, при обращении к сайту по любому из возможных URL адресов, будет открываться главное зеркало.

Например, на рег.ру (промо-код на скидку EB69-6AD7-D77D-43BD) можно посмотреть свободные для регистрации потенциальные зеркала или освобождающиеся домены (можете вводить предполагаемое имя домена прямо в приведенную ниже форму):

Откуда берутся лишние URL-адреса (дубли страниц) вашего сайта в индексе поисковиков

Но вернемся к нашим баранам. Та часть URL, которая расположена за третьим слешем (/) — в нашем примере это «papka/fail.html» — называется путем до конкретного объекта (документа или файла). В нашем случае это документ «fail.html», который лежит в каталоге «papka», который в свою очередь лежит в корневой папке (корень в Урле всегда соответствует третьему слешу слева).

Но это еще не все, что может быть записано в адресе. Посредством URL различные CMS (системы управления контентом) передают так называемые GET параметры, которые добавляются в самый его конец после простановки знака вопроса, например, так:

https://www.ktonanovenkogo.ru/papka/fail.html?print=yes

Вся беда в том, что для поисковых систем два таких URL адреса (с и без Get параметров) являются абсолютно разными веб документами и каждый из них будет проиндексирован поисковиками.

К одному и тому же Урлу может добавляться вашей Cms сколько угодно много различных Get параметров и все это будет проиндексировано Яндексом и Гуглом, если вы не создадите соответствующие запреты в файле robots.txt, ссылка на статью про который приведена чуть выше. В противном случае поисковики вас могут пессимизировать за большое количество дублированного контента (одного и того же содержимого, доступного по разным адресам).

Также, например, к главной странице моего ресурса можно обратиться по двум разным Урлам:

https://ktonanovenkogo.ru
https://ktonanovenkogo.ru/index.php

(даже по трем — еще и https://ktonanovenkogo.ru/) и в любом случае откроется главная страница. Это довольно плохо, т.к. поисковики найдут у меня три разных страницы (имеющих с их точки зрения разные URL адреса), но с одинаковым содержанием, что им, ох как не нравится.

Поэтому у меня сделано так, что при вводе любого из приведенных чуть выше Урлов будет выполнено перенаправление на URL вида «https://ktonanovenkogo.ru/». Делается это, как правило, с помощью 301 редиректа в файле .htaccess, либо напрямую в настройках сервера вами самими, либо вашим хостером.

Гораздо больше информации про зеркала сайта и их склейку читайте в приведенной по ссылке публикации.

Структура Урл адреса и перекодировка в URL-encoded

Вообще, полную блок-схему URL адреса можно представить так:

В реальности, как правило, не используют логин, пароль и порт, хотя для доступа на платные сайты может понадобиться их указание:

http://login:[email protected]/platniy-dostup.html

Также довольно часто устанавливают пароли для входа на Ftp сервер, где так же может использовать не стандартный порт, а отличный от используемого по умолчанию для этого протокола. Тогда для доступа к ресурсам такого Ftp сервера потребуется вводить подобный URL:

ftp://login:[email protected]:6789/samoe-nujnoe/cimus

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

Урл адреса в виде хеш-ссылок, открывающие страницу в нужном месте

Но кроме всех этих вещей, которые могут входить в состав URL, на приведенной чуть выше блок-схеме вы можете видеть так называемый якорь, который добавляется в самом конце после разделяющего символа решетки «#» (Урлы, содержащие якоря, обычно называют хеш ссылками).

Якоря заранее проставляются внутри Html кода документа (страницы) с помощью добавление атрибута в нужный Html тег (абзаца, заголовка или другой подходящий), а затем, добавив название этого якоря к URL адресу страницы через символ решетки «#», вы сможете перейти не на начало этой вебстраницы, а сразу к тому месту, где был проставлен якорь (все современные веб браузеры автоматически прокрутят страницу до нужного места).

Выглядеть хеш-ссылка может так (в тексте страницы проставлен якорь «url-1»):

#url-1 

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

Какие символы можно использовать в URL адресах?

Еще стоит сказать о различных кодировках, которые используются в URL адресах. Без перекодирования в них можно использовать только ограниченное количество символов. Обычно советуют ограничиться набором из символов: [0-9],[a-z],[A-Z],[_],[-].

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

Использование каких-либо других символов (включая русские) в урлах допустимо, но при этом будет происходить перекодировка этих самых символов (URL Encoding).

Что опечаливает, так это неудобоваримый вид URL адресов с символами, например, кириллицы, которые получаются после перекодировки. Каждый символ кириллицы кодируется с помощью двух байт в Юникоде (UTF-8), записанных в шестнадцатеричном виде и разделенных знаком процента «%». Например, такой Урл:

https://ktonanovenkogo.ru/кто на новенького/

после перекодировки станет таким:

http//ktonanovenkogo.ru/%BA%D1%82%D0%BE%20%D0%BD%D0%
B0%20%D0%BD%D0%BE%D0%B2%D0%B5%D0%BD%D1%8C%D0%BA%D0
%BE%D0%B3%D0%BE

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

В связи со всем вышесказанным я бы советовал при использовании ЧПУ на своих CMS не делать адреса страниц на русском, а использовать транслитерацию, тем более, что по мнению многих продвиженцев так будет лучше в плане Seo оптимизации под Яндекс и Google.ru.

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

Давайте начнем с абсолютных ссылок, т.к. в этом случае ничего особенного, сверх того, что мы уже обсудили в данной статье, говорить и не придется. Т.о. абсолютная ссылка должна соответствовать тем требованиям, которые мы предъявляем к URL адресу — должен указываться протокол передачи данных, доменное имя сайта (хоста) и путь до нужного web документа. Все.

В Html абсолютная ссылка формируется с помощью специальных тегов A (гиперссылки), т.е. для ее проставления мы просто должны будем окружить открывающим и закрывающим тегами гиперссылки нужное место в тексте документа (фразу или картинку) и прописать в открывающем теге A в атрибуте «Href» абсолютный путь до того документа, на который должен будет попасть посетитель при переходе по ней:

<a href="https://ktonanovenkogo.ru/vokrug-da-okolo/programs/phpmyadmin-skachat-ustanovka-nastrojka.html">ПхпМайАдмин</a>

Все очень просто.

Чем хороши относительные ссылки и как их можно получить

Однако, абсолютные гиперссылки обычно используют только в тех случаях, когда хотят сослаться на внешние сайты, а для внутренних переходов большинство вебмастеров (умных и прозорливых, не таких как я 🙂 ) стараются использовать относительные ссылки. И это есть несколько причин:

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

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

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

Самый простой и короткий вариант записи относительного пути (имеется в виду значения атрибута Href тега гиперссылки) получится в том случае, когда оба web документа: донор (с которого она проставляется) и акцептор (файл или web документ, на который она ведет), находятся в одной папке на сервере.

Тогда относительная ссылка будет представлять из себя лишь название web документа акцептора:

<a href="akceptor.html">анкор</a>

Теперь давайте предположим, что документ акцептор лежит в папке, которая расположена в одной директории с документом донором.

Как в этом случае будет выглядеть относительная ссылка? Все тоже довольно просто:

<a href="papka/akceptor.html">анкор</a>

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

Теперь давайте рассмотрим противоположную ситуацию, когда внутри папки лежит сам документ донор, с которого нужно проставить относительную ссылку на документ или файл акцептор, который уже лежит на уровень выше:

Для того, чтобы нам от документа донора пройти к файлу (или документу) акцептору, потребуется подняться из этой папки на уровень выше. Для этого предусмотрен специальный элемент — две точки подряд, а затем через прямой слеш прописывается дальнейший путь к акцептору. Поэтому для приведенного выше примера относительный путь будет иметь вид:

<a href="../akceptor.html">Что такое URL адреса</a>

Если вам понадобится подняться на два уровня вверх, то запись будет иметь вид:

<a href="../../akceptor.html">Что такое Урл</a>

Ну, а если после этого для прописывания относительного пути до акцептора вам нужно будет еще войти в какую-либо папку на втором верхнем (относительно документа донора) уровне:

Тогда относительная ссылка, проставленная из Html кода документа донора, может иметь следующий вид:

<a href="../../primer-2/akceptor.html">Сложная конструкция пути</a>

Таких спусков в папки и подъемов на уровень вверх может быть сколь угодно много, главное, чтобы вы сами не запутались.

Создание ссылки относительно корневой папки

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

Т.о. переход на главную страницу будет выглядеть довольно просто, но экстравагантно:

<a href="/">анкор</a>

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

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

<a href="https://ktonanovenkogo.ru/wp-content/uploads/html-tegi.html">анкор</a>

А относительный до того же самого файла будет уже несколько короче:

<a href="/wp-content/uploads/html-tegi.html">Текст</a>

Как сослаться на папку в относительном и абсолютном виде

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

<a href="/wp-content/uploads/">анкор</a>

А не такую:

<a href="/wp-content/uploads">текст</a>

Во втором случае, при обработке, сервер будет сначала пытаться найти файл с именем «uploads» (именно такой без каких-либо расширений) и не найдя его уже потом будет искать такую папку. Поэтому, написав сразу же слеш после названия нужной вам папки, вы не будете отнимать лишние ресурсы у вашего сервера на поиски того, чего там нет.

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

Обязательно закройте эту уязвимость, если обнаружите.

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

<a href="https://ktonanovenkogo.ru/">Абсолютная ссылка на главную</a>

Вот оно чё, Михалыч!

Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru

Абсолютные и относительные URL-адреса — CodeRoad

Должен ли я использовать абсолютный или относительный URLs?

Если под абсолютным URLs вы подразумеваете URLs, включая схему (например, http / https) и имя хоста (например, yourdomain.com), никогда не делайте этого (для локальных ресурсов), потому что это будет ужасно поддерживать и отлаживать.

Допустим, вы использовали абсолютный URL везде в своем коде, например <img src="http://yourdomain.com/images/example.png"> . Теперь, что произойдет, когда вы собираетесь:

  • переключитесь на другую схему (например, http -> https)
  • переключение доменных имен (test.yourdomain.com -> yourdomain.com)

В первом примере вы получите предупреждения о том, что на странице запрашивается небезопасный контент. Потому что все ваши URLs жестко закодированы для использования http(://yourdomain.com/images/example.png). И при запуске ваших страниц через https браузер ожидает, что все ресурсы будут загружены через https, чтобы предотвратить утечку информации.

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

Поэтому, чтобы ответить на ваш вопрос о том, следует ли использовать абсолютный или относительный URLs: всегда используйте относительный URLs (для локальных ресурсов).

Каковы различия между различными URLs?

Сначала давайте рассмотрим различные типы URL-адресов, которые мы можем использовать:

  • http://yourdomain.com/images/example.png
  • //yourdomain.com/images/example.png
  • /images/example.png
  • images/example.png

К каким ресурсам эти URLs пытаются получить доступ на сервере?

В приведенных ниже примерах я предполагаю, что веб-сайт работает из следующего местоположения на сервере /var/www/mywebsite .

http://yourdomain.com/images/example.png

Вышеупомянутый (абсолютный) URL пытается получить доступ к ресурсу /var/www/website/images/example.png . Этот тип URL-это то, чего вы всегда хотели бы избежать при запросе ресурсов с вашего собственного веб-сайта по причине, описанной выше. Однако у него есть свое место. Например, если у вас есть веб-сайт http://yourdomain.com , и вы хотите запросить ресурс из внешнего домена через https, вы должны использовать это. E.g. https://externalsite.com/path/to/image.png .

//yourdomain.com/images/example.png

Этот URL является относительным в зависимости от используемой текущей схемы и почти всегда должен использоваться при включении внешних ресурсов (изображений, javascripts и т. Д.).

Этот тип URL использует текущую схему страницы, на которой он находится. Это означает, что вы находитесь на странице http://yourdomain.com , и на этой странице есть тег изображения <img src="//yourdomain.com/images/example.png"> , который URL изображения разрешит в http://yourdomain.com/images/example.png .

Когда вы были бы на странице http**s**://yourdomain.com и на этой странице есть тег изображения <img src="//yourdomain.com/images/example.png"> , URL изображения разрешится в https://yourdomain.com/images/example.png .

Это предотвращает загрузку ресурсов по https, когда это не нужно, и автоматически гарантирует, что ресурс запрашивается по https, когда это необходимо.

Вышеприведенный URL разрешается таким же образом на стороне сервера, как и предыдущий URL:

Вышеупомянутый (абсолютный) URL пытается получить доступ к ресурсу /var/www/website/images/example.png .

/images/example.png

Для местных ресурсов это предпочтительный способ ссылки на них. Это относительный URL, основанный на корне документа ( /var/www/mywebsite ) вашего веб-сайта. Это означает, что когда у вас есть <img src="/images/example.png"> , он всегда будет разрешаться до /var/www/mywebsite/images/example.png .

Если в какой-то момент вы решите переключить домен, он все равно будет работать, потому что он относителен.

images/example.png

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

Например, когда вы находитесь на странице http://yourdomain.com и используете <img src="images/example.png"> , он будет разрешен на сервере до /var/www/mywebsite/images/example.png , как и ожидалось, однако, когда вы находитесь на странице http://yourdomain.com/some/path и используете точно такой же тег изображения, он внезапно разрешится до /var/www/mywebsite/some/path/images/example.png .

Когда использовать что?

При запросе внешних ресурсов вы, скорее всего, захотите использовать URL относительно схемы (если только вы не хотите принудительно использовать другую схему), а при работе с локальными ресурсами вы хотите использовать относительный URLs на основе корня документа.

Пример документа:

<!DOCTYPE html>
<html>
    <head>
        <title>Example</title>
        <link href='//fonts.googleapis.com/css?family=Lato:300italic,700italic,300,700' rel='stylesheet' type='text/css'>
        <link href="/style/style.css" rel="stylesheet" type="text/css" media="screen"></style>
    </head>
    <body>
        <img src="/images/some/localimage.png" alt="">
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" ></script>
    </body>
</html>

Некоторые (своего рода) дубликаты

Абсолютные и относительные URL-адреса — ActiveX Data Objects (ADO)



  • Чтение занимает 3 мин

В этой статье

URL-адрес указывает расположение целевого объекта, хранящегося на локальном или сетевом компьютере. Целевым объектом может быть файл, каталог, HTML-страница, изображение, программа и т. д.

Абсолютный URL-адрес содержит все сведения, необходимые для размещения ресурса.

Относительный URL-адрес находит ресурс, используя абсолютный URL-адрес в качестве отправной точки. Фактически «полный URL-адрес» целевого объекта указывается путем сцепления абсолютных и относительных URL-адресов.

Абсолютный URL-адрес использует следующий формат: Scheme://Server/Path/Resource

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

scheme
Указывает, каким способом будет осуществляться доступ к ресурсу .

server
Указывает имя компьютера, на котором расположен ресурс .

path
Указывает последовательность каталогов, ведущих к целевому объекту. Если ресурс не указан, целевой объект является последним каталогом в пути.

ресурсов
Если параметр включен, ресурс является целевым, а обычно — именем файла. Это может быть простой файл, содержащий один двоичный поток байтов, или структурированный документ, содержащий одно или несколько хранилищ и двоичных потоков байтов.

Регистрация схемы URL-адресов

Если поставщик поддерживает URL-адреса, поставщик будет регистрировать одну или несколько схем URL-адресов. Регистрация означает, что любые URL-адреса, использующие схему, будут автоматически вызывать зарегистрированного поставщика. Например, схема http регистрируется в поставщике OLE DB Майкрософт для публикации в Интернете. В ADO предполагается, что все URL-адреса с префиксом «http» представляют собой веб-папки или файлы, которые будут использоваться поставщиком публикации в Интернете. Сведения о схемах, зарегистрированных поставщиком, см. в документации поставщика.

Определение контекста с URL-адресом

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

При использовании ADO 2,7 или более поздней версии абсолютный URL-адрес также может определять контекст. Например, при открытии объекта записи с абсолютным URL-адресом объект соединения неявно создается для представления ресурса, указанного URL-адресом.

Абсолютный URL-адрес, определяющий контекст, можно указать в параметре ActiveConnection метода Open объекта Record . Абсолютный URL-адрес также может быть указан в качестве значения ключевого слова «URL =» в параметре метода ConnectionString объекта Connection и параметра ActiveConnection объекта Recordset .

Контекст можно также определить, открыв запись или объект набора записей , представляющий каталог, так как у этих объектов уже есть неявно или явно объявленный объект соединения , указывающий контекст.

Операции с областью действия

Контекст также определяет область, то есть каталог и его подкаталоги, которые могут участвовать в последующих операциях. Объект Record имеет несколько методов с областью действия, которые работают с каталогом и всеми его подкаталогами. К этим методам относятся копирекорд, MoveRecordи делетерекорд.

Относительные URL-адреса в качестве текста команды

Можно указать команду для выполнения в источнике данных, введя строку в параметре CommandText метода EXECUTE объекта Connection и в параметре Source метода Open объекта Recordset .

Относительный URL-адрес можно указать в параметре CommandText или Source . Относительный URL-адрес фактически не представляет команду, например команду SQL; Он просто задает параметры. Контекст активного соединения должен быть абсолютным URL-адресом, а параметр Option должен иметь значение адкмдтабледирект.

Например, в следующем примере кода показано, как открыть набор записей в Readme25.txtном файле каталога winnt/system32:

recordset.Open "system32/Readme25.txt", "URL=https://YourServer/Winnt/",,,adCmdTableDirect  

Абсолютный URL-адрес в строке подключения указывает сервер ( YourServer ) и путь ( Winnt ). Этот URL-адрес также определяет контекст.

Относительный URL-адрес в тексте команды использует абсолютный URL-адрес в качестве отправной точки и указывает оставшуюся часть пути ( system32 ) и открываемый файл ( Readme25.txt ).

Поле параметров ( adCmdTableDirect ) указывает, что тип команды является относительным URL-адресом.

В качестве другого примера следующий код откроет набор записей по содержимому Winnt каталога:

recordset.Open "", "URL=https://YourServer/Winnt/",,,adCmdTableDirect  

Схемы URL-адресов OLE DB Provider-Supplied

Начальная часть полного URL-адреса — это схема , используемая для доступа к ресурсу, определяемому оставшейся частью URL-адреса. Примеры: HTTP (протокол гипертекста) и FTP (протокол FTP).

ADO поддерживает поставщики OLE DB, которые распознают собственные схемы URL-адресов. Например, поставщик Microsoft OLE DB для публикации в Интернете, который обращается к опубликованным файлам Windows 2000, распознает существующую схему HTTP.

См. также:

Объект Connection (ADO)
Объект Record (ADO)
Объект Recordset (ADO)



html — Абсолютные и относительные URL

Должен ли я использовать абсолютные или относительные URL?

Если под абсолютными URL-адресами вы подразумеваете URL-адреса, включая схему (например, http/https) и имя хоста (например, yourdomain.com), этого никогда не происходит (для локальных ресурсов), потому что поддерживать и отлаживать будет ужасно.

Допустим, вы использовали абсолютный URL везде в своем коде, например <img src="http://yourdomain.com/images/example.png">. Теперь, что произойдет, когда вы собираетесь:

  • переключиться на другую схему (например, http -> https)
  • поменять доменные имена (test.yourdomain.com -> yourdomain.com)

В первом примере вы получите предупреждения о том, что на странице запрашивается небезопасный контент. Потому что все ваши URL жестко запрограммированы для использования http (: //yourdomain.com/images/example.png). А при запуске ваших страниц через http браузер ожидает загрузки всех ресурсов через https, чтобы предотвратить утечку информации.

Во втором примере, когда ваш сайт работает из тестовой среды, это означает, что все ресурсы по-прежнему указывают на ваш тестовый домен, а не на действующий домен.

Поэтому, чтобы ответить на ваш вопрос о том, использовать ли абсолютные или относительные URL-адреса: всегда используйте относительные URL-адреса (для локальных ресурсов).

В чем разница между разными URL?

Сначала давайте посмотрим, какие URL-адреса различий мы можем использовать:

  • http://yourdomain.com/images/example.png
  • //yourdomain.com/images/example.png
  • /images/example.png
  • images/example.png

К каким ресурсам эти URL-адреса пытаются получить доступ на сервере?

В приведенных ниже примерах я предполагаю, что веб-сайт работает из следующего местоположения на сервере /var/www/mywebsite.

http://yourdomain.com/images/example.png

Приведенный выше (абсолютный) URL пытается получить доступ к ресурсу /var/www/website/images/example.png. Этот тип URL — это то, что вы всегда хотели бы избегать при запросе ресурсов с вашего собственного сайта по причине, описанной выше. Однако это имеет свое место. Например, если у вас есть веб-сайт http://yourdomain.com и вы хотите запросить ресурс у внешнего домена через http, вы должны использовать это. Например. https://externalsite.com/path/to/image.png.

//yourdomain.com/images/example.png

Этот URL является относительным в зависимости от текущей используемой схемы и должен почти всегда использоваться при включении внешних ресурсов (изображений, javascripts и т.д.).

Этот тип URL использует текущую схему страницы, на которой он находится. Это означает, что вы находитесь на странице http://yourdomain.com и на этой странице есть тег изображения <img src="//yourdomain.com/images/example.png">, URL-адрес изображения будет разрешен в http://yourdomain.com/images/example.png.
Когда вы были бы на странице http**s**://yourdomain.com и на этой странице есть тег изображения <img src="//yourdomain.com/images/example.png">, URL-адрес изображения будет разрешен в https://yourdomain.com/images/example.png.

Это предотвращает загрузку ресурсов через https, когда это не нужно, и автоматически обеспечивает запрос ресурса через https, когда он необходим .

Приведенный выше URL-адрес разрешается таким же образом на стороне сервера, что и предыдущий URL-адрес:

Приведенный выше (абсолютный) URL пытается получить доступ к ресурсу /var/www/website/images/example.png.

/images/example.png

Для локальных ресурсов это предпочтительный способ ссылки на них. Это относительный URL, основанный на корне документа (/var/www/mywebsite) вашего сайта. Это означает, что когда у вас есть <img src="/images/example.png">, он будет всегда преобразовываться в /var/www/mywebsite/images/example.png.

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

images/example.png

Это также относительный URL, хотя он немного отличается от предыдущего. Этот URL относится к текущему пути. Это означает, что он разрешит разные пути в зависимости от того, где вы находитесь на сайте.

Например, когда вы находитесь на странице http://yourdomain.com и используете <img src="images/example.png">, на сервере будет принято решение /var/www/mywebsite/images/example.png, как и ожидалось, однако, когда вы находитесь на странице http://yourdomain.com/some/path, и вы используете точно такой же тег изображения, оно внезапно преобразуется в /var/www/mywebsite/some/path/images/example.png.

Когда использовать что?

При запросе внешних ресурсов вы, скорее всего, захотите использовать URL-адрес относительно схемы (если вы не хотите использовать другую схему), а при работе с локальными ресурсами вы хотите использовать относительные URL-адреса на основе корня документа.

Пример документа:

<!DOCTYPE html>
<html>
    <head>
        <title>Example</title>
        <link href='//fonts.googleapis.com/css?family=Lato:300italic,700italic,300,700' rel='stylesheet' type='text/css'>
        <link href="/style/style.css" rel="stylesheet" type="text/css" media="screen"></style>
    </head>
    <body>
        <img src="/images/some/localimage.png" alt="">
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" ></script>
    </body>
</html>

Некоторые (своего рода) дубликаты

Создание гиперссылок — Изучение веб-разработки

Гиперссылки действительно важны — они делают Интернет Интернетом. В этой статье представлен синтаксис, необходимый для создания ссылки,  а также обсуждаются лучшие практики обращения со ссылками.

Предварительные требования:Базовое знакомство с HTML, описанное в статье Начало работы c HTML. Форматирование текста в HTML, описанное в статье Основы редактирования текста в HTML.
Задача:Научиться эффективно использовать гиперссылки и связывать несколько файлов вместе.

Гиперссылки — одно из самых интересных нововведений Интернета. Они были особенностью Сети с самого начала, но именно они превращают Интернет в Интернет. Они позволяют нам связывать наши документы с любым другим документом (или ресурсом), с которым мы хотим. С их помощью мы также можем связывать документы с их конкретными частями, и мы можем сделать приложения доступными на простом веб-адресе (сравните это с локальными приложениями, которые должны быть установлены, и другими такими же вещами). Почти любой веб-контент может быть преобразован в ссылку, так что когда вы кликаете по ней (или иным образом активируете), она заставляет веб-браузер перейти на другой веб-адрес (URL.)

Примечание: URL-адрес может указывать на файлы HTML, текстовые файлы, изображения, текстовые документы, видео и аудиофайлы и все остальное, что может жить в Интернете. Если веб-браузер не знает, как отображать или обрабатывать файл, он спросит вас, хотите ли вы открыть файл (в этом случае обязанность открытия или обработки файла передаётся в соответствующее локальное приложение на устройстве) или загрузить файл (в этом случае вы можете попытаться разобраться с ним позже).

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

Простая ссылка создаётся путём обёртывания текста (или другого содержимого, смотрите  Ссылки-блоки), который вы хотите превратить в ссылку, в элемент <a>, и придания этому элементу атрибута href (который также известен как гипертекстовая ссылка, или цель), который будет содержать веб-адрес, на который вы хотите указать ссылку.

<p>Я создал ссылку на
  <a href="https://www.mozilla.org/ru/">домашнюю страницу Mozilla</a>.
</p>

Это дало нам следующий результат:

Я создал ссылку на домашнюю страницу Mozilla.

Добавляем информацию через атрибут title

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

<p>Я создал ссылку на
  <a href="https://www.mozilla.org/ru/"
     title="Лучшее место для поиска дополнительной информации
     о миссии Mozilla и о том, как внести свой вклад">домашнюю страницу Mozilla
  </a>.
</p>

Вот что получилось (описание появится, если навести курсор на ссылку):

Я создал ссылку на домашнюю страницу Mozilla.

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

Активное изучение: создаём собственную ссылку

Время упражнения: мы хотели бы, чтобы вы создали любой HTML-документ в текстовом редакторе на своём компьютере (наш базовый пример подойдёт.)

  • Попробуйте добавить в тело HTML один или несколько абзацев или другие элементы, о которых вы уже знаете.
  • Теперь превратите некоторые фрагменты документа в ссылки.
  • Добавьте ссылкам атрибут title.

Ссылки-блоки

Как упоминалось ранее, вы можете превратить любой элемент в ссылку, даже блочный элемент. Если у вас есть изображение, которые вы хотели бы превратить в ссылку, вы можете просто поместить изображение между тегами <a></a>.

<a href="https://www.mozilla.org/ru/">
  <img src="mozilla-image.png" alt="логотип mozilla со ссылкой на их домашнюю страницу">
</a>

Примечание: вы узнаете гораздо больше об использовании изображений в Интернете в следующей статье.

Чтобы полностью понять адреса ссылок, вам нужно понять несколько вещей про URL-адреса и пути к файлам. Этот раздел даст вам информацию, необходимую для достижения этой цели.

URL-адрес (Uniform Resource Locator, или единый указатель ресурса, но так его никто не называет) — это просто строка текста, которая определяет, где что-то находится в Интернете. Например, домашняя страница Mozilla находится по адресу https://www.mozilla.org/ru/.

URL-адреса используют пути для поиска файлов. Пути указывают, где в файловой системе находится файл, который вас интересует. Давайте рассмотрим простой пример структуры каталогов (смотрите каталог creating-hyperlinks.)

Корень структуры — каталог  creating-hyperlinks. При работе на локальном веб-сайте у вас будет один каталог, в который входит весь сайт. В корне у нас есть два файла — index.html и contacts.html. На настоящем веб-сайте index.html был бы нашей домашней, или лендинг-страницей (веб-страницей, которая служит точкой входа для веб-сайта или определённого раздела веб-сайта).

В корне есть ещё два каталога —  pdfs и projects. У каждого из них есть один файл внутри — project-brief.pdf и index.html, соответственно. Обратите внимание на то, что вы можете довольно успешно иметь два index.html файла в одном проекте, пока они находятся в разных местах файловой системы.  Многие веб-сайты так делают. Второй index.html, возможно, будет главной лендинг-страницей для связанной с проектом информации.

  • Тот же каталог: Если вы хотите подключить ссылку внутри index.html (верхний уровень index.html), указывающую на contacts.html, вам просто нужно указать имя файла, на который вы хотите установить ссылку, так как он находится в том же каталоге, что и текущий файл. Таким образом, URL-адрес, который вы используете — contacts.html:

    <p>Хотите связаться с конкретным сотрудником?
       Найдите подробную информацию на нашей
      <a href="contacts.html">странице контактов</a>.
    </p>
  • Перемещение вниз в подкаталоги: Если вы хотите подключить ссылку внутри index.html (верхний уровень index.html), указывающую на projects/index.html, вам нужно спуститься ниже в директории projects перед тем, как указать файл, который вы хотите. Это делается путём указания имени каталога, после которого идёт слеш и затем имя файла. Итак, URL-адрес, который вы используете — projects/index.html:

    <p>Посетите мою
      <a href="projects/index.html">домашнюю страницу проекта</a>.
    </p>
  • Перемещение обратно в родительские каталоги: Если вы хотите подключить ссылку внутри projects/index.html, указывающую на pdfs/project-brief.pdf, вам нужно будет подняться на уровень каталога, затем спустится в каталог pdf. «Подняться вверх на уровень каталога» обозначается двумя точками — .. — так, URL-адрес, который вы используете ../pdfs/project-brief.pdf:

    <p>Ссылка на
      <a href="../pdfs/project-brief.pdf">краткое описание моего проекта</a>.
    </p>

Примечание: вы можете объединить несколько экземпляров этих функций в сложные URL-адреса, если необходимо, например: 
../../../сложный/путь/к/моему/файлу.html.

Фрагменты документа

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

<h3>Почтовый адрес</h3>

Затем, чтобы связаться с  этим конкретным  id, вы должны включить его в конец URL-адреса, которому предшествует знак решётки, например:

<p>Хотите написать мне письмо? Используйте наш
  <a href="contacts.html#Почтовый_адрес">почтовый адрес</a>.
</p>

Вы даже можете использовать ссылку на фрагмент документа отдельно для ссылки на другую часть того же документа:

<p>
  <a href="#Почтовый_адрес">Почтовый адрес кампании</a>
  можно найти в нижней части этой страницы.
</p>

Абсолютные и относительные URL-адреса

Два понятия, с которыми вы столкнётесь в Интернете, — это абсолютный URL и относительный URL:

Абсолютный URL
Указывает на местоположение, определяемое его абсолютным местоположением в Интернете, включая протокол и доменное имя. Например, если страница index.html загружается в каталог, называемый projects, который находится внутри корня веб-сервера, а домен веб-сайта — http://www.example.com, страница будет доступна по адресу http://www.example.com/projects/index.html (или даже просто http://www.example.com/projects/), так как большинство веб-серверов просто ищет целевую страницу, такую ​​как index.html, для загрузки, если он не указан в URL-адресе.).

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

Относительный URL
Указывает расположение относительно файла, с которого вы связываетесь, это больше похоже на случай, который мы рассматривали в предыдущей секции. Для примера, если мы хотим указать со страницы http://www.example.com/projects/index.html на PDF файл, находящийся в той же директории, наш URL может быть просто названием файла —  project-brief.pdf — никакой дополнительной информации не требуется. Если PDF расположен в поддиректории pdfs внутри каталога projects, относительная ссылка будет pdfs/project-brief.pdf (аналогичный абсолютный URL был бы http://www.example.com/projects/pdfs/project-brief.pdf.).

Относительный URL будет указывать на различные места, в зависимости от того, где находится файл, в котором он используется, — например, если мы переместим наш файл index.html из каталога projects в корневой каталог веб-сервера (верхний уровень, не в директорию) , то относительный URL pdfs/project-brief.pdf будет вести на http://www.example.com/pdfs/project-brief.pdf, а не на http://www.example.com/projects/pdfs/project-brief.pdf.

Советуем вам основательно разобраться в этой теме!

При написании ссылок рекомендуется следовать некоторым правилам. Давайте рассмотрим их.

Используйте чёткие формулировки описания ссылок

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

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

Взгляните на этот пример:

Хороший текст ссылки: Скачать Firefox

<p><a href="https://firefox.com/">
  Скачать Firefox
</a></p>

Плохой текст ссылки: Нажми сюда, чтобы скачать Firefox

<p><a href="https://firefox.com/">
  Нажми сюда
</a>
чтобы скачать Firefox</p>

Советы:

  • Не пишите URL-адрес как часть текста ссылки. URL-адреса выглядят сложными, а звучат ещё сложнее, когда программы чтения с экрана читают их по буквам.
  • Не пишите «ссылка» или «ссылки на» в тексте ссылки — это лишнее. Программы чтения с экрана сами проговаривают, что есть ссылка. На экране пользователи также видят, что есть ссылка, потому что ссылки, как правило, оформлены в другом цвете и подчёркнуты (подчёркивая ссылки, вы соблюдаете правила хорошего тона, поскольку пользователи привыкли к этому).
  • Следите за тем, чтобы текст ссылки был как можно короче. Длинный текст ссылки особенно раздражает пользователей программ чтения с экрана, которым придётся услышать всё, что написано.
  • Минимизируйте случаи, когда несколько копий одного и того же текста ссылок указывает на разные страницы. Это может вызвать проблемы для пользователей программ чтения с экрана, которые часто вызывают список ссылок — несколько ссылок, помеченных как «нажмите здесь», «нажмите здесь», «нажмите здесь», будут путать.

Используйте относительные ссылки, где это возможно

Из прочитанного выше, вы можете подумать, что всё время использовать абсолютные ссылки — хорошая идея; в конце концов, они не ломаются, когда страница перемещается. Тем не менее, лучше использовать относительные ссылки везде, где это возможно, в пределах одного сайта  (при ссылке на другие сайты необходимо использовать абсолютную ссылку):

  • Во-первых, гораздо проще прописать в коде относительные URL-адреса, как правило, они намного короче абсолютных URL-адресов, что значительно упрощает чтение кода
  • Во-вторых, использование относительных URL-адресов эффективней по следующей причине. Когда вы используете абсолютный URL-адрес, браузер начинает поиск реального местоположения сервера запрашивая адрес у Domain Name System (DNS; также прочтите Как работает web), затем он переходит на этот сервер и находит файл, который запрашивается. С относительным URL-адресом проще: браузер просто ищет файл, который запрашивается на том же сервере. Используя абсолютные URL-адреса вместо относительных, вы постоянно нагружаете свой браузер дополнительной работой.

Создавая ссылки на не HTML ресурсы — добавляйте описание

Когда вы создаёте ссылку на файл, нажав на который можно загрузить документ PDF или Word или открыть просмотр видео, прослушивание аудио файла или перейти на страницу с другим, неожиданным для пользователя результатом (всплывающее окно или загрузка Flash-фильма), добавляйте чёткую формулировку, чтобы уменьшить путаницу. Отсутствие описания может раздражать пользователя. Приведём пример:

  • Если вы используете соединение с низкой пропускной способностью и вдруг нажмёте на ссылку без описания, начнётся загрузка большого файла.
  • Если у вас нет установленного Flash-плеера и вы нажмёте ссылку, то внезапно перейдёте на страницу с Flash-контентом.

Посмотрите на примеры, чтобы увидеть, как добавить описание:

<p><a href="http://www.example.com/large-report.pdf">
  Скачать отчёт о продажах (PDF, 10MB)
</a></p>

<p><a href="http://www.example.com/video-stream/">
  Посмотреть видео (видео откроется в отдельном окне, HD качество)
</a></p>

<p><a href="http://www.example.com/car-game">
  Играть в гонки (необходим Flash)
</a></p>

Используйте атрибут download, когда создаёте ссылку

Когда создаёте ссылку на файл, который должен быть загружен, а не открыт в браузере, можете использовать атрибут download, чтобы создать имя файла по умолчанию для сохранения . Приведём пример ссылки для загрузки браузера Firefox 39:

<a href="https://download.mozilla.org/?product=firefox-39.0-SSL&os=win&lang=en-US"
   download="firefox-39-installer.exe">
  Скачать Firefox 39 для Windows
</a>

Для этого упражнения мы хотим, чтобы вы создали ссылки на страницы в меню навигации в многостраничном сайте. Это один из распространённых способов создания сайта: на каждой странице используется одна и та же структура страниц, включая одно и то же меню навигации, поэтому при нажатии ссылок создаётся впечатление, что вы остаётесь в одном месте: меню остаётся на месте, а контент меняется.

Вам нужно скачать или создать следующие страницы в одном каталоге (Смотрите navigation-menu-start):

Что делать:

  1. Добавьте неупорядоченный список в указанном месте в любом html-файле. Список должен состоять из имён страниц (index, projects и т.д.). Меню навигации обычно представляет собой список ссылок, поэтому создание неупорядоченного списка семантически верно.
  2. Создайте ссылки каждому элементу списка, ведущие на эти страницы.
  3. Скопируйте созданное меню в каждую страницу.
  4. На каждой странице удалите только ссылку, которая указывает на эту же страницу (на странице index.html удалить ссылку index и так далее). Дело в том, что, находясь на странице index.html, нам незачем видеть ссылку в меню на эту же страницу. С одной стороны, нам незачем ещё раз переходить на эту же страницу, с другой, такой приём помогает визуально определить, смотря на меню, в какой части сайта мы находимся.

Когда закончите задание, посмотрите, как это должно выглядеть:

Если не удаётся сделать, или вы не уверены, что сделали верно, посмотрите наш вариант navigation-menu-marked-up.

Можно создавать ссылки или кнопки, которые при нажатии открывают новое исходящее сообщение электронной почты, а не ссылку на ресурс или страницу. Для этого используется элемент <a> и mailto: — адрес почты.

Самыми простыми и часто используемыми формами mailto: являются  subject, cc, bcc и body; дальше прописываем адрес электронной почты. Например:

<a href="mailto:[email protected]">Отправить письмо для nowhere</a>

В результате получим ссылку вида: Отправить письмо для nowhere.

Сам адрес электронной почты не является обязательным для заполнения. Если оставить это поле пустым (в поле href оставить только «mailto:»), откроется новое исходящее сообщение почтовой программой, в поле получателя будет пусто. Это можно использовать для кнопки «Поделиться».

Особенности и детали

Помимо адреса электронной почты, вы можете предоставить другую информацию. Фактически, любые стандартные поля для отправки почты могут быть добавлены к указанному вами адресу mailto. Часто используемыми из них являются «subject», «cc» и «body» (которые не являются истинным полем заголовка, но позволяют указать дополнительную информацию для нового сообщения электронной почты). Каждое поле и его значение задаются в качестве условия запроса.

Вот пример который включает cc(кому отправить копию сообщения, все получатели письма видят список тех кто это письмо получит), bcc(скрытый адрес получателя, никто из получателей не будет видеть полный список получателей письма), subject(тема письма) и body(текст сообщения):

<a href="mailto:[email protected][email protected]&[email protected]&amp;subject=The%20subject%20of%20the%20email &amp;body=The%20body%20of%20the%20email">
  Send mail with cc, bcc, subject and body
</a>

Примечание: Значение каждого поля должно быть написано в URL-кодировке (то есть с непечатаемыми символами и пробелами percent-escaped). Обратите внимание на знак вопроса (?) для разделения основного адреса и дополнительных полей, амперсанд (&) для разделения каждого поля mailto: URL. Для этого используется стандартное описание URL запроса. Прочтите о методе GET, чтобы лучше понимать описание URL запроса.

Вот несколько примеров использования mailto URLs:

Этой информации достаточно для создания ссылок! Вы вернётесь к ссылкам позже, когда начнёте изучать стили. Дальше вы рассмотрите семантику текста и более сложные и необычные возможности, которые будут полезны при создании контента сайта. В следующей главе будет рассматриваться продвинутое форматирование текста.

Преобразование динамических URL в статические

Как  с помощью mod_rewrite преобразовать динамические URL в статические? Эта статья даст ответ, а также прояснит некоторые заблуждения, связанные с этим вопросом.

mod_rewrite не может изменить URL в браузере пользователя

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

Также важно понимать, что mod_rewrite работает с URL после того, как сервер получил HTTP запрос и до того, как выполнится скрипт или обработается контент. Таким образом, mod_rewrite может менять путь файла на сервере и переменные, связанные с запрошенным URL, но не может изменить контент, отсылаемый сервером.

Как изменить динамический URL на статический

Вот алгоритм, который надо выполнить для создания статических URL на динамическом сайте:

  • Преобразовать все ссылки на всех страницах сайта в статический формат. Обычно это делается путем изменения базы данных или скрипта, который генерирует данные страницы. В некоторых случаях с этой задачей быстро справляется функция PHP — preg_replace().
  • Добавить в файл httpd.conf или .htaccess правила mod_rewrite для внутреннего преобразования статических URL, которые были запрошены клиентом, в динамический вид, необходимый для вызова скрипта генерации контента.
  • Добавить дополнительный код mod_rewrite для прямых запросов клиента на динамический URL и перенаправлять их (внешним редиректом) на соответствующий статический URL. Для этого используется 301 редирект («Постоянно перемещен»), который уведомляет поисковики, что вместо старых динамических URL нужно использовать новые статические. Также внешний редирект перенаправляет посетителей, которые пришли на ваш сайт, используя старую динамическую ссылку из своих закладок.

Рассматривая вышесказанное, можно догадаться, что оба формата: и динамический, и статический URL должны содержать в себе всю информацию, необходимую для преобразования в другой формат. И запомните, что осторожный выбор «дизайна» статических URL в будущем может уберечь вас от многих проблем, а также уменьшить количество циклов процессора, которое может сильно вырасти при неумелой реализации такого преобразования.

Важное предупреждение

В цели этой статьи не входит объяснение принципов работы регулярных выражений и модуля mod_rewrite. Документация по mod_rewrite и множество других мануалов легко доступны для всех желающих.

А попытка же использовать mod_rewrite без полного ознакомления с этой документацией — первый шаг (а часто и последний) к серьезным проблемам. Запомните, что mod_rewrite влияет на конфигурацию вашего сервера и достаточно одной опечатки или логической ошибки, чтобы сделать ваш сайт недоступным для посетителей или быстро понизить ваши рейтинги в поисковых сервисах. А если ваш заработок зависит от сайта, то вам тем более необходимо внимательно изучить всю документацию.
Подробно о регулярных выражения можно прочитать в книге «Освой самостоятельно регулярные выражения».
Ниже приведен пример, который можно использовать в качестве основы при построении собственного решения.

Рабочий пример

Старый динамический формат URL:

index\.php?product=widget&color=blue&size=small&texture=fuzzy&maker=widgetco

Новый статический формат URL:

/product/widget/blue/small/fuzzy/widgetco

Код mod_rewrite, используемый в ./index\.php$». Также запомните, что вам надо перезапустить сервер, чтобы внесенные изменения в файле конфигурации начали действовать.

Как это работает
  • Посетитель использует браузер для просмотра одной из ваших страниц
  • Посетитель кликает по ссылке <a rel=»nofollow» href=»/product/gizmo/red/tiny/furry/gizmocorp»>Tiny red furry gizmos by GizmoCorp!</a>
  • С вашего сервера браузер запрашивает виртуальный файл //example.com/product/gizmo/red/tiny/furry/gizmocorp
  • Вызывается mod_rewrite и первое правило переформировывает запрос в /index\.php?product=gizmo&color=red&size=tiny&texture=furry&maker=gizmocorp, вызывая скрипт
  • Ваш скрипт генерирует запрошенную страницу, и сервер отсылает ее обратно браузеру клиента
  • Посетитель кликает на другую ссылку и процесс повторяется

Теперь давайте посмотрим, как паук поисковика посетит ваш сайт, используя старый динамический URL:

  • Паук запрашивает с вашего сервера: //example.com/index\.php?product=wodget&color=green&size=large&texture=smooth&maker=wodgetsinc
  • Вызывается mod_rewrite и второе правило генерирует 301 редирект, информирующий паука, что запрошенная страница была перенесена на URL: //example.com/product/wodget/green/large/smooth/wodgetsinc
  • Паук отправляет запрос в свою базу адресов, чтобы изменить в ней старый динамический URL на новый, полученный из редиректа.
  • Паук вновь запрашивает страницу, которую он искал, но на этот раз, используя новый статический URL: //example.com/product/wodget/green/large/smooth/wodgetsinc
  • Вызывается mod_rewrite и первое правило переформировывает запрос в /index\.php?product=wodget&color=green&size=large&texture=smooth&maker=wodgetsinc, вызывая скрипт
  • Ваш скрипт сгенерирует запрошенную страницу, и сервер вернет ее обратно поисковому пауку для последующего парсинга и построения поискового индекса
  • Теперь паук будет обрабатывать страницы, содержащие новые статические ссылки и все запросы на старые динамические URL будут перенаправлены на новые статические URL, а новые URL в результатах поиска со временем заменят старые.

Размещение правил mod_rewrite

Чтобы приведенный код работал надлежащим образом, он должен быть размещен в файле .htaccess в том же каталоге, где и /index.php. Также он может быть помещен в контейнер <directory> в файле httpd.conf, который ссылается на этот каталог.

Регулярные выражения

Тут я приведу только одно замечание по поводу регулярных выражений, использованных выше. Я избегаю использования очень простых и популярных, но очень неэффективных конструкций «(.*)/(.*)«. Ибо использование множества конструкций «.*» в регулярных выражениях очень неэффективно.
Причины этому две. Первое — «.*» означает «подставить любое число любых символов». И второе — конструкция «.*» очень «прожорливая», что означает, что в шаблон подставится максимально возможное количество символов. А это в свою очередь означает, что, перед тем как запрошенный URL совпадет или не совпадет с регулярным выражением, произойдет множество подстановок, количество которых равно (количеству символов между «/» и концом запрашиваемого URL минус 2) умноженное на (количество «(.\ ]+)«. В грубом переводе они соответственно означают «подставить один или несколько символов не равных слешу», «подставить один или несколько символов не равных &» и «подставить один или несколько символов не равных пробелу». Разница заключается в том, что каждая из этих конструкций будет «потреблять» один или более символов из запрошенного URL, увеличивая количество на один, тем самым, позволяя парсеру регулярных выражений проверить запрошенный URL за один проход слева-направо.

Частые проблемы

Самой частой проблемой, встречающейся при реализации преобразований URL из динамических в статические — это когда «бъются» относительные ссылки внутри вашей страницы (на изображения, на CSS файлы или внешние JavaScript).

Проблема в том, что браузер сам обрабатывает относительные ссылки. Например, если вы обрабатываете URL product/widget/blue/fuzzy/widgetco, то браузер увидит страницу «widgetco» и будет обрабатывать относительные ссылки этой страницы относительно «виртуального» каталога /product/widget/blue/fuzzy/.

Есть два простых решения этой проблемы. Первое — это использовать серверо-относительные ссылки (или абсолютные ссылки), или использовать дополнительные mod_rewrite правила для преобразования URL картинок, CSS файлов и т. п. Вот пример использования серверно-относительной ссылки <img src="/logo.gif">, которая заменяет странично-относительную ссылку <img src="logo.gif">.

Проблемы при тестировании

Как для .htaccess, так и для httpd.conf перед тестированием любых изменений не забывайте очищать кэш браузера. Иначе ваш браузер обработает одну из ранее запрошенных страниц из кэша. Понятно, что в этом случае, новый код не выполнится.

Оригинал на английском о том как преобразовать динамические ссылки в дружелюбные для поисковых систем: Changing dynamic to static URLs.

В чем разница между абсолютным и относительным URL-адресом?

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

Абсолютный URL-адрес содержит больше информации, чем относительный URL-адрес
делает. Относительные URL-адреса более удобны, потому что они короче и
часто более портативный. Однако вы можете использовать их только для ссылки на ссылки.
на том же сервере, что и страница, содержащая их.

Ссылки с абсолютными URL-адресами

Абсолютный URL-адрес обычно имеет следующую форму:

 протокол: // домен / путь 

Протокол обычно http: // , но может
также https: // , ftp: // , gopher: // или
файл: // . Домен — это имя
интернет сайт. Например, доменное имя центрального офиса Университета Индианы
веб-сервер: www.indiana.edu . В
путь включает каталог и файл
Информация.Вы должны использовать абсолютные URL-адреса при ссылках на
разные сервера.

Связывание с относительными URL-адресами

Относительные URL-адреса могут принимать различные формы. При упоминании
к файлу, который находится в том же каталоге, что и ссылающаяся страница,
URL-адрес может быть таким же простым, как имя файла. Например, если вы хотите
создать ссылку на файл на вашей домашней странице
foobar.html , который находится в том же каталоге, что и ваш дом.
page, вы должны использовать:

  Чудесный мир Foobar!  

Если файл, на который вы хотите создать ссылку, находится в подкаталоге ссылающегося
каталог страницы, вам нужно ввести только информацию каталога и
имя файла. Итак, если foobar.html были в
foobar подкаталог вашего каталога www ,
вы можете обратиться к нему со своей домашней страницы, используя:

  Удивительный мир Foobar!  

Если файл, на который вы хотите создать ссылку, находится в более высоком каталоге, чем
ссылаясь на страницу, используйте .. , что означает идти вверх
каталог. Например, для ссылки с foobar.html на
home.html , который находится в каталоге выше, вы должны
использование:

  Вернуться на мою домашнюю страницу  

абсолютных и относительных путей / ссылок | Программное обеспечение CoffeeCup

И сегодня одна из наиболее сложных и запутанных вещей в HTML — это ссылки на другие страницы и сайты, особенно когда в игру вступают абсолютные и относительные пути.Но не волнуйтесь! Создание ссылок — как относительных, так и абсолютных — на самом деле довольно просто. Читайте дальше, и к концу этой статьи вы узнаете разницу между этими двумя типами ссылок, а также когда и как их использовать.

Конечно, все еще важно понимать, как работают относительные и абсолютные ссылки, поэтому читайте дальше …

Во-первых, как вы можете знать или не знать, вы должны использовать следующий код для создания ссылки в HTML:

Click Me

ссылка здесь.html будет страницей, на которую вы хотите создать ссылку, а Click Me будет синей подчеркнутой ссылкой, отображаемой на странице.

В приведенном выше примере мы использовали относительный путь. Вы можете определить, является ли ссылка относительной, если путь не является полным адресом веб-сайта. (Полный адрес веб-сайта включает http: // www. ) Как вы уже догадались, абсолютный путь обеспечивает полный адрес веб-сайта. Вот несколько основных примеров относительных и абсолютных путей:

Относительные пути

  • индекс.HTML
  • /graphics/image.png
  • /help/articles/how-do-i-set-up-a-webpage.html

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

  • http://www.mysite.com
  • http://www.mysite.com/graphics/image.png
  • http://www.mysite.com/help/articles/how-do-i-set-up-a-webpage.html

Первое различие, которое вы заметите между двумя разными типами ссылок, заключается в том, что абсолютные пути всегда включают доменное имя веб-сайта, включая http: // www., тогда как относительные ссылки указывают только на файл или путь к файлу. Когда пользователь щелкает относительную ссылку, браузер переводит его в это место на текущем сайте. По этой причине вы можете использовать только относительные ссылки при создании ссылок на страницы или файлы на своем сайте, и вы должны использовать абсолютные ссылки, если вы переходите на место на другом веб-сайте.

Итак, когда пользователь щелкает относительную ссылку, как их браузер узнает, куда их взять? Ну, он ищет расположение файла относительно на странице, где появляется ссылка.(Отсюда и название!) Вернемся к нашему первому примеру:

Click Me

Эта ссылка указывает на имя файла без указания пути. Это означает, что linkhere.html находится в той же папке, что и страница, на которой появляется эта ссылка. Если бы оба файла находились в корневом каталоге веб-сайта http://www.website.com , фактический адрес веб-сайта, на который будет перенаправлен пользователь, будет http: // www.website.com/linkhere.html . Если оба файла находятся в подпапке корневого каталога с именем files , пользователь попадет на http://www.website.com/files/linkhere.html .

Как насчет другого примера? Допустим, у нас в домене http://www.website.com есть подпапка изображений . В папке изображений находится файл с именем pictures.html . Полный путь к этой странице:

"http://www.website.com/pictures/pictures.html "

Все еще с нами? Хороший. Скажем, в этом файле pictures.html у нас есть ссылка:

Дополнительные изображения

Если кто-то нажмет на это, как вы думаете, куда он их приведет? Если бы вы сказали http://www.website.com/pictures/morepictures.html , вы были бы правы! Вы, наверное, знаете, почему он взял их туда: потому что оба файла сохранены в подпапке изображений .

А что, если бы мы хотели использовать относительную ссылку для отображения страницы в другой папке? Если вы хотите создать ссылку на файл в подпапке текущей папки, укажите путь к этому файлу, например:

Прочтите о моем отпуске на Таити.

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

Что делать, если вы хотите создать ссылку на файл в папке над текущей папкой? Вы должны указать браузеру переместиться на одну папку вверх в вашей относительной ссылке, поставив две точки и косую черту (../ ) перед именем файла или путем:

Читать истории

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

Нажмите здесь, чтобы перейти к программе CoffeeCup.

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

Должен ли я использовать относительные или абсолютные URL-адреса?

Взгляды автора полностью его или ее собственные (за исключением маловероятного случая гипноза) и не всегда могут отражать взгляды Moz.

Когда-то для разработчиков было обычным делом кодировать относительные URL-адреса на сайте. Есть ряд причин, по которым это может быть не лучшей идеей для SEO, и сегодня на Whiteboard Friday Рут Бёрр Риди расскажет вам, почему.

Для справки, вот кадр с доски на этой неделе.Нажмите на нее, чтобы открыть изображение с высоким разрешением в новой вкладке!

Давайте обсудим некоторые нефилософские абсолюты и их родственники

Привет, фанаты Moz. Меня зовут Рут Берр Риди. Вы можете узнать меня по таким проектам, как когда я был руководителем отдела SEO в Moz. Сейчас я старший менеджер по поисковой оптимизации в BigWing Interactive в Оклахома-Сити. Сегодня мы поговорим об относительных и абсолютных URL-адресах и о том, почему они важны.

В любой момент времени ваш веб-сайт может иметь несколько различных конфигураций, которые могут вызывать проблемы с дублированием контента.У вас может быть просто стандартный http://www.example.com. Это довольно стандартный формат для веб-сайта.

Но основные источники дублированного контента на уровне домена, которые мы видим, — это когда не-www.example.com не перенаправляет на www или наоборот, и когда HTTPS-версии ваших URL-адресов не вынуждены разрешать к версиям HTTP или, опять же, наоборот. Это может означать, что если все эти сценарии верны, если все четыре из этих URL-адресов разрешаются без принудительного преобразования в каноническую версию, вы можете, по сути, иметь четыре версии своего веб-сайта в Интернете.Это может быть, а может и не быть проблемой.

Он не идеален по нескольким причинам. Во-первых, дублированный контент — это проблема, потому что некоторые люди думают, что дублированный контент повлечет за собой наказание. Дублированный контент не повлечет за собой наказание вашего сайта так же, как вы можете увидеть штраф за спам-ссылку от Penguin. Фактического штрафа нет. Вы не будете наказаны за дублированный контент.

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

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

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

При использовании абсолютного URL-адреса вы помещаете в ссылку весь веб-адрес страницы, на которую вы ссылаетесь. Вы помещаете свой полный домен, все, что указано в ссылке, включая / page. Это абсолютный URL.

Однако при кодировании веб-сайта довольно распространенной практикой веб-разработки является кодирование внутренних ссылок с помощью так называемого относительного URL.Относительный URL — это просто / page. В основном это зависит от вашего браузера, чтобы понять: «Хорошо, эта ссылка указывает на страницу, которая находится в том же домене, что и мы. Я просто предполагаю, что это так, и перехожу туда. . »

Есть несколько действительно веских причин для кодирования относительных URL-адресов

1) Кодировать намного проще и быстрее.

Когда вы веб-разработчик и создаете сайт с тысячами страниц, кодирование относительных URL-адресов в сравнении с абсолютными — это способ повысить эффективность.Вы будете часто видеть это.

2) Промежуточные среды

Другая причина, по которой вы можете увидеть относительные URL-адреса в сравнении с абсолютными, — это некоторые системы управления контентом — и SharePoint — отличный пример этого — имеют промежуточную среду, которая находится в собственном домене. Вместо example.com это будет examplestaging.com. Весь веб-сайт будет в основном реплицирован на этом промежуточном домене. Наличие относительных URL-адресов в сравнении с абсолютными означает, что один и тот же веб-сайт может существовать как на стадии подготовки, так и на производстве, или же версия вашего веб-сайта, доступная в реальном времени, без необходимости повторного кодирования всех этих URL.Опять же, это более эффективно для вашей команды веб-разработчиков. Это действительно веские причины для этого. Так что не кричите на свою команду веб-разработчиков, если они закодировали относительные URL-адреса, потому что с их точки зрения это лучшее решение.

Относительные URL-адреса также заставят вашу страницу загружаться немного быстрее. Однако, по моему опыту, преимущества для SEO от наличия абсолютных URL-адресов по сравнению с относительными URL-адресами на вашем веб-сайте намного перевешивают крохотное время, которое потребуется для загрузки страницы.Это очень незначительно. Если у вас действительно очень долгое время загрузки страницы, вы можете изменить множество вещей, которые будут иметь большее значение, чем кодирование ваших URL-адресов как относительных по сравнению с абсолютными.

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

Есть еще более веские причины использовать абсолютные URL-адреса

1) Скребки

Если у вас есть все ваши внутренние ссылки в виде относительных URL-адресов, для парсера было бы очень, очень, очень легко просто очистить весь ваш сайт и поместить его на новом домене, и весь веб-сайт будет просто работать. Это отстой для вас и отлично подходит для этого скребка. Но если вы по какой-то причине не делаете общедоступные услуги для скреперов, это, вероятно, не то, что вы хотите, чтобы произошло с вашим красивым, трудолюбивым, созданным вручную веб-сайтом.Это одна из причин. Существует риск скребка.

2) Предотвращение проблем с дублированием контента

Но другая причина, по которой очень важно иметь абсолютные и относительные URL-адреса, заключается в том, что это действительно снижает риск дублирования контента, который может возникнуть, когда у вас нет всех этих версий вашего веб-сайта. сводя к одной версии. Google потенциально может зайти на ваш сайт на любой из этих четырех страниц, которые для вас совпадают. Для Google это четыре разные страницы.Они для вас одно и то же. Это четыре разных домена для Google.

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

Опять же, это не всегда большая проблема. Повторяющийся контент, это не идеально. Тем не менее, Google довольно хорошо разбирается в том, какова настоящая версия вашего веб-сайта.

Когда вы думаете об этом, вы действительно хотите думать о внутренних ссылках. Если у вас в основном четыре разных версии любого URL-адреса, которые можно просто скопировать и вставить, когда они захотят поставить на вас ссылку или когда они захотят поделиться чем-то, что вы создали, вы разбавляете свои внутренние ссылки на четыре, что не является здорово.По сути, вам придется создать в четыре раза больше ссылок, чтобы получить такой же авторитет. Это одна из причин.

3) Бюджет сканирования

Другая причина, по которой этого очень важно не делать, — это бюджет сканирования. Вместо этого я собираюсь указать на это вот так.

Когда мы говорим о бюджете сканирования, в основном это то, что он представляет собой каждый раз, когда Google сканирует ваш веб-сайт, есть конечная глубина, которую они будут сканировать. Есть ограниченное количество URL-адресов, которые они будут сканировать, а затем они решают: «Хорошо, я закончил.»Это основано на нескольких разных вещах. Авторитет вашего сайта является одним из них. Ваш фактический PageRank, а не PageRank панели инструментов, но то, насколько хорош Google на самом деле думает о вашем веб-сайте, является большой частью этого. Но также и то, насколько сложен ваш сайт, как часто он обновляется, подобные вещи также будут влиять на то, как часто и насколько глубоко Google будет сканировать ваш сайт.

Когда мы думаем о бюджете сканирования, важно помнить, что для Google бюджет сканирования обходится в долларах. Одна из самых больших затрат Google как компании — это деньги и пропускная способность, необходимые для сканирования и индексации Интернета.Вся энергия, затрачиваемая на сканирование и индексацию Интернета, живет на серверах. Эта пропускная способность исходит от серверов, а это означает, что использование пропускной способности стоит Google реальных долларов.

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

Таким образом, наличие четырех разных версий вашего веб-сайта, каждая из которых полностью доступна для сканирования до последней страницы, поскольку у вас есть относительные URL-адреса и вы не устранили эту проблему с дублированием контента, означает, что Google придется тратить в четыре раза больше деньги, чтобы действительно сканировать и понимать ваш сайт.Со временем они будут делать это все реже и реже, особенно если у вас нет действительно авторитетного веб-сайта. Если у вас небольшой веб-сайт, если вы только начинаете, если у вас только среднее количество входящих ссылок, со временем вы заметите, что скорость и частота сканирования снизятся, и это плохо. Мы этого не хотим. Мы хотим, чтобы Google возвращался постоянно, видел все наши страницы. Они красивы. Поместите их в указатель. Оцените их хорошо. Вот чего мы хотим. Вот что мы должны делать.

Существует несколько способов решить проблему относительных и абсолютных URL-адресов

1) Исправить то, что происходит на стороне сервера вашего веб-сайта

Вы должны убедиться, что вы принудительно используете все эти разные версии вашего веб-сайта. domain, чтобы разрешить одну версию вашего домена. На мой взгляд, я совершенно не уверен, какую версию вы выберете. Вероятно, вы уже должны иметь довольно хорошее представление о том, какая версия вашего веб-сайта является настоящей версией, будь то www, не-www, HTTPS или HTTP.На мой взгляд, наиболее важным является то, что все четыре версии сводятся к одной версии.

С точки зрения SEO есть свидетельства, которые можно предположить, и Google определенно сказал, что HTTPS немного лучше, чем HTTP. С точки зрения длины URL я предпочитаю не иметь www. там, потому что на самом деле он ничего не делает. Это просто делает ваши URL-адреса на четыре символа длиннее. Если вы не знаете, какой выбрать, я бы выбрал именно этот HTTPS, а не W. Но какой бы из них вы ни выбрали, что действительно наиболее важно, так это то, что все они сводятся к одной версии.Вы можете сделать это на стороне сервера, и обычно вашей команде разработчиков довольно легко исправить это, как только вы скажете им, что это должно произойти.

2) Исправьте внутренние ссылки

Отлично. Итак, вы исправили это на стороне сервера. Теперь вам нужно исправить ваши внутренние ссылки, и вам нужно перекодировать их, чтобы они были относительными, чтобы быть абсолютными. Это то, что ваша команда разработчиков не захочет делать, потому что это требует много времени и, с точки зрения веб-разработчиков, не так важно. Однако вам следует использовать такие ресурсы, как эта Whiteboard Friday, чтобы объяснить им, с точки зрения SEO, как с точки зрения парсера, так и с точки зрения дублирования контента, наличие этих абсолютных URL-адресов является высоким приоритетом и тем, что нужно сделать.

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

Затем вы проведете некоторое обучение со всеми, кто прикоснется к вашему веб-сайту, говоря: «Эй, когда вы делаете внутреннюю ссылку, убедитесь, что вы используете абсолютный URL-адрес и убедитесь, что он находится в нашем предпочтительном формате», потому что это действительно даст вы получаете наибольшую отдачу от каждой внутренней ссылки.Так что сделайте некоторое образование. Исправьте ваши внутренние ссылки.

Иногда ваша команда разработчиков говорит: «Нет, мы не можем этого сделать. Мы не собираемся перекодировать всю навигацию. Это плохое использование нашего времени», и иногда они правы. У команды разработчиков есть дела поважнее. Это нормально.

3) Канонизируйте это!

Если вы не можете исправить свои внутренние ссылки или они не собираются исправлять в ближайшее время, временная мера или пластырь, который вы можете как бы наложить на эту проблему, — канонизировать все ваши страниц.Поскольку вы меняете свой сервер, чтобы все эти разные версии вашего домена преобразовывались в одну, в то же время вы должны реализовать канонический тег на всех страницах вашего веб-сайта для самоканонизации. На каждой странице у вас есть тег канонической страницы, в котором говорится: «Эта страница прямо здесь, на которой они уже были, является канонической версией этой страницы». Или, если есть другая страница, которая является канонической версией, то, очевидно, вы вместо этого указываете на нее.

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

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

Подробнее:
• Повторяющееся содержимое | Лучшие практики SEO

Транскрипция видео от Speechpad.com

Как создавать абсолютные гиперссылки и относительные гиперссылки в документах Word

ВВЕДЕНИЕ

В этой статье описывается, как создавать абсолютные гиперссылки и относительные гиперссылки в Microsoft Office Word 2010, Microsoft Office Word 2007 и Microsoft Office Word 2003.

Дополнительная информация

Word автоматически создает гиперссылку, когда вы вводите адрес существующей веб-страницы, например www.microsoft.com, в документ. Это происходит только в том случае, если вы не отключили автоматическое форматирование гиперссылок. Вы также можете создавать настраиваемые гиперссылки на документы на компьютере или в общей сетевой папке. Эти гиперссылки могут быть абсолютными. Или эти гиперссылки могут относиться к документу Word, с которым вы работаете.

По умолчанию опция Обновить ссылки при сохранении в Веб-параметры включена в Word. Таким образом, когда вы создаете гиперссылку в документе Word, Word преобразует гиперссылку в относительную гиперссылку.

Определения и примеры

  • Гиперссылка
    Гиперссылка — это цветной и подчеркнутый текст или цветной и подчеркнутый рисунок, который вы щелкаете, чтобы открыть любой из следующих элементов:

    • Файл

    • Место в файле

    • Веб-страница в Интернете

    • Веб-страница во внутренней сети

    • Сайт Gopher, Telnet или FTP

    Кроме того, вы можете щелкнуть гиперссылку для просмотра групп новостей.

  • Абсолютная гиперссылка
    Абсолютная гиперссылка — это гиперссылка, которая содержит полный адрес файла назначения или веб-сайта. Следующий адрес является примером полного адреса в абсолютной гиперссылке:

    http://www.microsoft.com/support

  • База гиперссылки
    База гиперссылки — это путь, который используется совместно файлом, содержащим гиперссылку и файл назначения.

  • Относительная гиперссылка
    Относительная гиперссылка — это гиперссылка, которая содержит адрес, относящийся к адресу конечного файла. Адрес конечного файла также известен как база гиперссылки.

    Например, документ имеет следующую базу гиперссылок:

    C: \ Documents and Settings \ Имя пользователя \ Мои документы Документ с названием «Продажи.doc «находится по следующему пути к файлу:

    C: \ Documents and Settings \ Имя пользователя \ My Documents \ April \ Sales.doc Относительная гиперссылка на этот документ содержит только относительный адрес Sales.doc. Следовательно, относительная гиперссылка содержит следующий адрес:

    Апрель \ Sales.doc

Как использовать абсолютные гиперссылки вместо относительных

Чтобы использовать абсолютные гиперссылки, выполните одно из следующих действий:

  • Используйте абсолютные гиперссылки во всех документах Word.Для этого воспользуйтесь одним из следующих способов.

    Метод 1: Word 2010

    1. В меню Файл выберите Параметры .

    2. Щелкните Advanced .

    3. В разделе Общие щелкните Параметры Интернета .

    4. Щелкните вкладку Файлы .

    5. Щелкните, чтобы снять флажок Обновить ссылки при сохранении .

    6. Дважды щелкните OK .

    Метод 2: Word 2007

    1. Нажмите кнопку Microsoft Office , а затем нажмите Параметры Word .

    2. Щелкните Advanced .

    3. В разделе Общие щелкните Параметры Интернета .

    4. Щелкните вкладку Файлы .

    5. Щелкните, чтобы снять флажок Обновить ссылки при сохранении .

    6. Дважды щелкните OK .

    Метод 3: Word 2003

    1. В меню Инструменты щелкните Параметры .

    2. Щелкните вкладку Общие .

    3. Щелкните Параметры Интернета .

    4. Щелкните вкладку Файлы .

    5. Щелкните, чтобы снять флажок Обновить ссылки при сохранении .

    6. Дважды щелкните OK .

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

    Метод 1: Word 2010

    1. Откройте документ, в котором вы хотите использовать абсолютную гиперссылку.

    2. В меню Файл щелкните Информация .

    3. Щелкните раскрывающийся список Свойства под окном документа.

    4. Щелкните Дополнительные свойства .

    5. Щелкните вкладку Сводка .

    6. В поле Hyperlink Base введите x, а затем нажмите OK .

    Метод 2: Word 2007

    1. Откройте документ, в котором вы хотите использовать абсолютную гиперссылку.

    2. Нажмите кнопку Microsoft Office , укажите на Подготовить , а затем нажмите Свойства .

    3. Щелкните Свойства документа , а затем щелкните Дополнительные свойства .

    4. Щелкните вкладку Сводка .

    5. В поле Hyperlink Base введите x и нажмите OK .

    Метод 3: Word 2003

    1. Откройте документ, в котором вы хотите использовать абсолютную гиперссылку.

    2. В меню Файл выберите Свойства .

    3. Щелкните вкладку Сводка .

    4. В поле Hyperlink Base введите x и нажмите OK .

Как сбросить гиперссылки

Чтобы сбросить существующие гиперссылки в документе, выполните следующие действия:

  1. Откройте документ.

  2. Щелкните правой кнопкой мыши гиперссылку, которую нужно изменить, и выберите Изменить гиперссылку .

  3. В поле Искать в щелкните документ, гиперссылка которого должна открываться. Или введите URL-адрес пункта назначения в поле Адрес .

  4. Нажмите ОК .

Как установить базу гиперссылки

Чтобы установить базу гиперссылок для всех гиперссылок или URL-адресов в документе, используйте один из следующих методов, соответствующих вашей версии Word.

Метод 1: Word 2010
  1. Откройте документ, в котором вы хотите использовать абсолютную гиперссылку.

  2. В меню Файл щелкните Информация .

  3. Щелкните раскрывающийся список Свойства под окном документа.

  4. Щелкните Дополнительные свойства .

  5. Щелкните вкладку Сводка .

  6. В поле Hyperlink Base введите путь, который вы хотите использовать для всех гиперссылок, которые вы создаете в этом документе.

  7. Нажмите ОК .

Метод 2: Word 2007
  1. Откройте документ, в котором вы хотите установить основу гиперссылки.

  2. Нажмите кнопку Microsoft Office , укажите на Подготовить , а затем нажмите Свойства .

  3. Щелкните Свойства документа , а затем щелкните Дополнительные свойства .

  4. Щелкните вкладку Сводка .

  5. В поле Hyperlink Base введите путь, который вы хотите использовать для всех гиперссылок, которые вы создаете в этом документе.

  6. Нажмите ОК .

Метод 3: Word 2003
  1. Откройте документ, для которого вы хотите установить основу гиперссылки.

  2. В меню Файл щелкните Свойства , а затем щелкните вкладку Сводка .

  3. В поле Hyperlink base введите путь, который вы хотите использовать для всех гиперссылок, которые вы создаете в этом документе.

  4. Нажмите ОК .

Примечание. Чтобы переопределить базу гиперссылки, введите полный адрес гиперссылки в поле Адрес в диалоговом окне Вставить гиперссылку .

html — Абсолютные и относительные URL-адреса

Следует использовать абсолютные или относительные URL-адреса?

Если под абсолютными URL-адресами вы имеете в виду URL-адреса, включая схему (например, http / https) и имя хоста (например, yourdomain.com), никогда не делайте этого (для локальных ресурсов), потому что это будет ужасно поддерживать и отлаживать.

Допустим, вы использовали абсолютный URL везде в своем коде, например . Что теперь будет, когда вы поедете по адресу:

  • переключиться на другую схему (например, http -> https)
  • переключить доменные имена (test.yourdomain.com -> yourdomain.com)

В первом примере произойдет то, что вы получите предупреждения о небезопасном содержимом, запрашиваемом на странице. Поскольку все ваши URL-адреса жестко запрограммированы на использование http (: // yourdomain.com / images / example.png). И при запуске ваших страниц через https браузер ожидает, что все ресурсы будут загружены через https, чтобы предотвратить утечку информации.

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

Итак, чтобы ответить на ваш вопрос о том, использовать ли абсолютные или относительные URL-адреса: всегда используйте относительные URL-адреса (для локальных ресурсов).

В чем разница между разными URL-адресами?

Сначала давайте посмотрим на различные типы URL-адресов, которые мы можем использовать:

  • http: // yourdomain.com / images / example.png
  • //yourdomain.com/images/example.png
  • /images/example.png
  • images / example.png

К каким ресурсам эти URL пытаются получить доступ на сервере?

В приведенных ниже примерах я предполагаю, что веб-сайт работает из следующего местоположения на сервере / var / www / mywebsite .

http://yourdomain.com/images/example.png

Указанный выше (абсолютный) URL-адрес пытается получить доступ к ресурсу / var / www / website / images / example.PNG . Этот тип URL-адреса всегда, , хотел бы избегать при запросе ресурсов с вашего собственного веб-сайта по причинам, изложенным выше. Однако у него есть свое место. Например, если у вас есть веб-сайт http://yourdomain.com и вы хотите запросить ресурс из внешнего домена через https, вы должны использовать его. Например. https://externalsite.com/path/to/image.png .

//yourdomain.com/images/example.png

Этот URL-адрес является относительным на основе текущей используемой схемы и должен почти всегда использоваться при включении внешних ресурсов (изображений, javascripts и т. Д.).

Этот тип URL использует текущую схему страницы, на которой он находится. Это означает, что вы находитесь на странице http://yourdomain.com и на этой странице есть тег изображения URL изображения разрешится в http://yourdomain.com/images/example.png .
Если бы вы были на странице http ** s **: //yourdomain.com и на этой странице есть тег изображения URL-адрес изображения будет разрешен в https://yourdomain.com/images/example.png .

Это предотвращает загрузку ресурсов через https, когда в этом нет необходимости, и автоматически гарантирует, что ресурс запрашивается через https, когда это — это .

Указанный выше URL-адрес разрешается на стороне сервера таким же образом, что и предыдущий URL-адрес:

Указанный выше (абсолютный) URL-адрес пытается получить доступ к ресурсу / var / www / website / images / example.PNG .

/images/example.png

Для локальных ресурсов это предпочтительный способ ссылки на них. Это относительный URL-адрес, основанный на корне документа ( / var / www / mywebsite ) вашего веб-сайта. Это означает, что если у вас , всегда будет разрешаться в /var/www/mywebsite/images/example.png .

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

изображений / example.png

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

Например, когда вы находитесь на странице http://yourdomain.com и используете , на сервере он будет преобразован в / var / www / mywebsite / изображения / пример.png , как и ожидалось, однако, когда вы находитесь на странице http://yourdomain.com/some/path и используете тот же тег изображения, он внезапно преобразуется в / var / www / mywebsite / some / path / images / example.png .

Что и когда использовать?

При запросе внешних ресурсов вы, скорее всего, захотите использовать URL-адрес, относящийся к схеме (если вы не хотите принудительно использовать другую схему), а при работе с локальными ресурсами вы хотите использовать относительные URL-адреса на основе корня документа.

Пример документа:

  

    
         Пример 
        
         
    
    
         

  

Некоторые (вроде) дубликаты

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

— какой путь использовать?

Автор: Коди Арсено

Обновлено 18 августа 2017 г.

Создание и отслеживание веб-ссылок может быть проблемой, особенно если вы не понимаете разницы между абсолютным и относительным путями. Эти противоречивые подходы к соединению веб-страниц могут существенно повлиять на производительность веб-сайта и ценность SEO.Это руководство объяснит два типа ссылок и поможет вам определить правильный путь для любой ситуации.

Относительный путь и абсолютный путь: что они означают?

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

   Google Trends .
  

URL здесь, https://trends.google.com/trends/ , можно ввести в строку поиска браузера, и вы попадете туда, куда хотите.Хотя ваш личный браузер может позволить вам опустить протокол https: // , вы всегда должны включать схему (например, http: // или https: // ) при кодировании абсолютных ссылок, чтобы убедиться, что они работают для все посетители.

И наоборот, относительная ссылка включает только имя определенного файла или страницы, относительное к текущему пути. Если вы храните все файлы своего веб-сайта в одном каталоге, вы можете устанавливать ссылки между страницами следующим образом:

   Следующая страница 
  

В этом случае ссылка действительна только в пределах каталога, в котором находится page2.html . При нажатии браузер ищет в каталоге текущей страницы page2.html и отображает его. Конечно, если вы просто вставите page2.html в строку поиска браузера, это не приведет вас туда, куда вы хотите. Следовательно, путь ссылки составляет относительно текущего документа, отображаемого браузером , отсюда и термин относительный путь.

Вам нужно будет включить протокол и ваше доменное имя в ссылку, чтобы превратить тот же пример, что и выше, в ссылку с абсолютным путем:

   Следующая страница 
  

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

Создание относительного пути для соединения элементов веб-сайта

Иногда для создания относительного пути необходимо включить больше информации, чем имя файла.Возвращаясь к последнему примеру, если page1.html находится в корневом каталоге, а page2.html находится в подкаталоге с именем folderA , относительная ссылка с page1.html на page2.html будет иметь до включить имя папки с косой чертой:

   Следующая страница 
  

Имейте в виду, что имена папок и файлов всегда чувствительны к регистру в URL-адресах ! Однако в доменных именах регистр не учитывается.

Допустим, вы хотите создать ссылку на page2.html , которая вернет вас на page1.html . Чтобы создать относительный путь к каталогу более высокого уровня, вы просто добавляете две точки, за которыми следует косая черта в начале ссылки:

   Предыдущая страница 
  

Добавление ../ сообщает браузеру, что нужно искать нужный файл в иерархии папок.

Теперь представьте структуру папок с корневым каталогом, который содержит folderA , а folderA содержит folderB .Если page1.html находится в корневом каталоге, а page3.html находится в folderB , вы можете создать ссылку с page3.html на page1.html следующим образом:

   Вернуться на страницу 1. 
  

Вы можете просто добавлять ../ каждый раз, когда хотите переместиться на один каталог вверх, но что, если вам нужно переместиться вверх, а затем вниз? Например, представьте, что в этом же корневом каталоге также есть папка с именем , вложенная папка , которая содержит файл contactpage.html . Если page2.html находится в папке folderA , и вы хотите создать относительный путь от page2.html до contactpage.html , вы должны использовать следующий формат ссылки:

  Свяжитесь с нами 
  

Создание абсолютного пути для соединения разных веб-сайтов

В то время как относительные ссылки могут быть полезны для внутренних ссылок, абсолютные ссылки полезны для создания ссылок как между отдельными веб-сайтами, так и внутри.При ссылке на внешний веб-сайт лучше всего настроить таргетинг на пустое окно браузера, чтобы ссылка открывалась в отдельном окне, а не перенаправлял посетителей с вашего веб-сайта. Таким образом, пользователь по-прежнему будет видеть ваш сайт, когда закроет связанную страницу. Чтобы указать браузеру открыть ссылку в новом окне, необходимо добавить атрибут target = "_ blank" . Например, вы можете сделать ссылку на главную страницу Google следующим образом:

   Домашняя страница Google 
  

Будет ли ссылка открываться во вкладке или в окне, зависит от настроек браузера пользователя.С другой стороны, относительные ссылки, соединяющие страницы вашего собственного веб-сайта, всегда должны загружаться на одной и той же странице браузера.

Независимо от того, используете ли вы относительные пути или абсолютные пути, у каждого метода есть свои плюсы и минусы. Если вы просто связываете страницы, которые находятся на одном и том же веб-сайте, традиционная мудрость гласит, что нет необходимости использовать абсолютные ссылки. Если вы когда-нибудь измените свое доменное имя, сохранение всех ссылок относительными значительно упростит переход. Однако использование абсолютных URL-адресов дает преимуществ SEO , которые будут обсуждаться позже.

А как насчет относительных URL-адресов протоколов?

Некоторые веб-сайты позволяют пользователям запрашивать ресурсы как по HTTP, так и по HTTPS. Если текущая страница просматривается через HTTPS, то ресурс, использующий относительный протокол, будет доставлен через HTTPS. С другой стороны, если сайт просматривается через HTTP, актив также будет соответствовать этому протоколу и будет доставлен через HTTP. Ниже приводится пример того, как выглядит ссылка, использующая относительный протокол:

   Мое изображение 
  

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

Кроме того, относительные URL-адреса протоколов не идеальны для связи между страницами, и их нельзя использовать вместе с каноническими тегами.Это может создать проблемы с дублированием контента, из-за которых поисковые роботы будут сканировать одну и ту же страницу в режимах HTTP и HTTPS. Для веб-сайтов, которые переходят исключительно на HTTPS, лучше всего просто включить полный протокол, например:

   My Image 
  

Относительный путь или абсолютный путь: что лучше для SEO?

Когда дело доходит до SEO, последовательное использование абсолютных URL-адресов предпочтительнее даже для внутренних ссылок.Если у вас есть отдельная промежуточная среда, вы, вероятно, можете настроить свою CMS для динамического создания абсолютных URL-адресов на основе текущей серверной среды. Например, WordPress автоматически генерирует абсолютные URL-адреса для ссылок, которые не встроены в контент.

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

Относительные ссылки также проблематичны для RSS-каналов. Последовательное использование абсолютных ссылок гарантирует, что контент всегда отображается правильно, и дает лучшую защиту от парсеров. Использование абсолютных ссылок для изображений позволяет вам заявить о праве собственности на результаты поиска изображений, что снижает вероятность появления дублированного контента на веб-сайте конкурента.

Канонизация ссылок

Если у вас есть проблемы с дублированием контента из-за относительных ссылок, и у вас нет времени или ресурсов для исправления всех ваших ссылок, канонизация всех ваших страниц может решить эту проблему. Канонический тег указывает, что URL-адрес ведет к главной копии веб-страницы, которая является версией, отображаемой в результатах поиска:

Канонический тег также очень удобен при реализации CDN. Поскольку CDN содержат кешированную копию ресурсов вашего веб-сайта и в большинстве случаев доставляют их с отдельного URL-адреса, сканеры могут рассматривать это как дублированный контент.Однако указание канонического тега устраняет эту проблему, и правильно указывает поисковым роботам на исходный ресурс .

KeyCDN предлагает функцию канонического заголовка, чтобы защитить вас от любых проблем с дублированием контента, вызванных использованием CDN.

Сводка

Если у вас уже есть веб-сайт с относительными ссылками, вам следует подумать о том, чтобы изменить их на абсолютные ссылки по причинам, указанным выше. В некоторых случаях, таких как WordPress, вы можете использовать плагин, такой как Better Search Replace, для изменения определенных ссылок.Например, это было бы полезно, если ваш сайт содержит много относительных ссылок на протоколы, и вы хотите изменить их, чтобы использовать абсолютные URL-адреса протоколов. Хотя будьте осторожны с этим подходом, как если бы вы ссылались на внешний сайт, который не поддерживает HTTPS, ваши пользователи получат сообщение об ошибке при нажатии на указанную ссылку.

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

Объяснение абсолютного и относительного путей

Объяснение абсолютного и относительного пути

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

Относительный путь — это путь относительно пути к текущей странице. Текущая страница — это страница, содержащая URL-ссылку.

Абсолютный путь — это путь, который начинается с URL-адреса домена.Абсолютный путь может быть полным или кратким. Краткая версия всегда начинается с
косая черта, которая является частью полного URL-адреса без части имени домена.

Рекомендация

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

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

Когда вы ссылаетесь на страницу на другом веб-сайте, вы можете использовать только полную абсолютную
дорожка. Это полный URL.

Примеры абсолютного и относительного путей

В следующей таблице показаны примеры различных путей.Мы предполагаем, что текущее расположение страницы:

http://www.site.com/products/sales/july/

Тип Уровень Абсолютный путь (полная версия) Абсолютный путь (короткая версия) Относительный путь
Справочник Текущий http: // www.site.com/products/sales/july/ / продукты / продажи / июль /
Файл Текущий http://www.site.com/products/sales/july/index.html /products/sales/july/index.html
Справочник На 1 уровень выше http: // www.site.com/products/sales/ / продукты / продажи / ../
Файл На 1 уровень выше http://www.site.com/products/sales/summary.html /products/sales/summary.html ../summary.html
Файл На 1 уровень выше http: // www.site.com/products/sales/services/index.html /products/sales/services/index.html ../services/index.html
Справочник 2 уровня http://www.site.com/products/ /товары/ ../../
Файл 2 уровня http: // www.site.com/products/demo.html /products/demo.html ../../demo.html
Файл 2 уровня http://www.site.com/products/category/index.html /products/category/index.html ../../category/index.html
Справочник На 3 уровня выше http: // www.site.com / ../../../
Файл На 3 уровня выше http://www.site.com/index.html /index.html ../../../index.html
Файл На 3 уровня выше http: // www.site.com/aboutus/index.html /aboutus/index.html ../../../aboutus/index.html
Справочник На 1 уровень ниже http://www.site.com/products/sales/july/images/ / продукты / продажи / июль / изображения / картинки/
Файл На 1 уровень ниже http: // www.site.com/products/sales/july/images/product1.jpg /products/sales/july/images/product1.jpg images / product1.jpg

Когда вы ссылаетесь на страницу, расположенную на два каталога выше текущего каталога,
это будет так:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *