Русские урлы (IRI) в href

A
На сайте с 18.12.2008
Offline
15
499

Добрый день,

Задаюсь вопросом, как правильно кодировать русские урлы (IRI - Internationalized Resource Identifier) в атрибуте href тегов A.

C одной стороны есть пример википедии, которая все символы не являющиеся ASCII кодирует %% (насколько я знаю это поведение описывается стандартом).

<a href="/wiki/%D0%A0%D0%B5%D0%BB%D0%B5%D0%B2%D0%B0%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C">релевантность</a>

С другой стороны, есть пример сайтов типа careerjet.ru, habr.ru, где русские буквы остаются как есть

<a href="http://habrahabr.ru/tag/поисковый спам/" rel="tag">поисковый спам</a>.

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

Остальные основные браузеры оба случая обрабатывают хорошо.

Насколько корректно использовать случай 2? Какие правила для кодировки урлы в href следует применять?

DarkEngelo
На сайте с 21.03.2009
Offline
69
#1

Тоже интересует данный вопрос.

Ложусь я спать с высоким ТИЦом, PRом тащит от меня! Мечтаю с Яшей пожениться. Чтоб 10-TOP рождался от меня... =)
webeditor
На сайте с 12.12.2010
Offline
108
#2

System.Web.HttpUtility

поиск

Куплю любой ваш сайт (https://goo.gl/bFFa4p) Без сомнения лучший недорогой хостинг (https://goo.gl/QaAKmT)
LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#3
Насколько корректно использовать случай 2? Какие правила для кодировки урлы в href следует применять?

Делайте сайт на utf-8 и всё будет ок т.к. адресная строка в ней.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
A
На сайте с 18.12.2008
Offline
15
#4
webeditor:
System.Web.HttpUtility

поиск

это относится к случаю 1

Almas добавил 23.01.2011 в 17:04

LEOnidUKG:
Делайте сайт на utf-8 и всё будет ок т.к. адресная строка в ней.

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

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий