x
 
Олег Волчков
8 июля 2010

Артём, стоит ли учитывать различие регистров букв в адресах страниц? Ведь для пользователя адрес site.ru/blog/first_post и site.ru/Blog/First_post по смыслу одинаковые, но «стандарт» считает, что эти адреса должны рассматриваться как разные. Как быть, слепо следовать стандарту и историческому наследию UNIX-систем и говорить клиенту «404 not found» или просто выдавать содержимое, тем более, что найти его не сложно?

Можно рассмотреть проблему ещё шире. А имеет ли вообще делать различие регистра символов для естественных идентификаторов (имён файлов, адресов страниц и пр.)?



Олег, мне кажется, стандарт не запрещает иметь одно и то же по двум разным адресам. Например, orion-art.ru и orionart.ru показывают один и тот же сайт.

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


Поделиться
Отправить

Комментарии

Денис Братчук
8 июля 2010

В большинстве случаев на конкретные страницы пользователь переходит по ссылке, а не путём ввода адреса в строке браузера, поэтому придавать большое значение проблеме регистра не стоит.

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

Всеволод Устинов
8 июля 2010

А для роботов можно добавить canonical:
<link rel=«canonical» href=«http://site.ru/blog/first_post»>;

Алексей Мельников
8 июля 2010

Предлагаю учитывать регистр букв, руководствуясь логикой. Так, скажем, на сайте с граффити в адресе страницы я указываю город с большой буквы — http://graffitimuseum.ru/exhibition/stencil/Bristol/

Алексей Блинов
8 июля 2010

Рассматривать эти адреса как разные стоит лишь когда этими адресами будут пользоваться не люди, а сервисы на компьютерах, но и в этом случае стоит спросить себя: «Почему у меня есть разные сервисы с адресами, отличающимися лишь регистрами?»

Илай Бенкс
8 июля 2010

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

Дмитрий Пленкин
8 июля 2010

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

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

Алексей Рытов
8 июля 2010

Мне бы хотелось обсудить вопрос, который меня давно занимает. Если после вложенного корректного адреса написать что-то не то, то выдавать 404 или же последний корректный адрес?

Например, https://www.mobi-money.ru/catalog/006a6ssdfa555a не выдаёт 404-ю ошибку, а выдаёт каталог, как и https://www.mobi-money.ru/catalog/

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

И с годами я стал всё больше склоняться к тому, что ошибку выдавать не нужно. А что думаете об этом вы?


8 июля 2010

Алексей!

В таких случаях мы выдаём ошибку и ссылку на раздел предыдушего уровня:
http://www.regular.ru/components/hren/

Никита Листратов
8 июля 2010

Лучшим решением, я считаю, должен быть редирект с /Blog/Some-Post/ на /blog/some-post/.

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

Илья Полсаков
9 июля 2010

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

<IfModule mod_speling.c>
CheckSpelling On
</IfModule>

http://httpd.apache.org/docs/1.3/mod/mod_speling.html

Олег Волчков
9 июля 2010

Когда я писал вопрос, то предполагал, что советчики обязательно вспомнят про «редиректы на canonical url». Может быть для программистов это и кажется нормальным решением, но для человека нет и вот почему. Во-первых, различие регистра символов существенно только для пользователей тех операционных систем, где такое различие есть в файловой системе — остальные про это просто не догадываются, да и для человека значения имеют слова, а не регистр букв из которых они состоят. Посмотрите на сайты, сделанные на технологиях Микрософта — там можно писать путь в любом регистре, при этом страницы прекрасно находятся. Во-вторых, и это самое главное: если страница достижима по какому-то пути, то она и должна быть показана, причём без всяких редиректов. Ведь мы можем найти эту страницу, а значит и показать её не является проблемой. В современных системах подобное поведение реализуется очень просто: данные лежат в базе данных, обработка запроса производится через единую точку доступа (маршрутизатор фреймворка), которая позволяет сделать на уровне приложения любое преобразование регистра, да и популярный mod_rewrite прекрасно умеет игнорировать регистр символов. Кроме того, поисковые системы прекрасно умеют разбираться с «одинаковыми» адресами без всяких редиректов и учитывать это при ранжировании.

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


Цель рубрики — обсуждение вопросов дизайна всех видов, текста в дизайне и взаимоотношений дизайнеров с клиентами.

Мы публикуем комментарии, которые добавляют к уже сказанному новые мысли и хорошие примеры. Мы ожидаем, что такие комментарии составят около 20% от общего числа.

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

Вот такой веб 2.0.

Что такое интерфейс? 2 Как вы доносите своим клиентам, что дизайн — это не внешний вид, а совершенно иная деятельность? 3 4




Недавно всплыло

5 Пожалуйста, подскажите, как можно написать лучше? Как избавиться от сухости? 1 Как оформить портфолио маркетологу? 1 6