Объявление

Хотите приглашение на сайт? Пишите: niikto@samovarchik.info


 

Re: Friendly URL

В движке предполагается использовать встроенный механизм дружественных URL-адресов (так называемые ЧПУ, хотя мне этот термин не очень нравится).

Технические вопросы оставляю на попозже, прежде хочу изучить уже существующие моды для оригинального FluxBB - friendly-url и fluxrewrite-essentials.
Заранее планирую только включение/выключение "красивых" URL в админке и отдельный класс, формирующий эти самые "красивые" адреса, чтобы можно было относительно легко модифицировать их вид в зависимости от проекта.

А здесь хочу обсудить их вид для базовой версии движка.

В зависимости от типа навигации, будет меняться часть URL-адреса примерно так:

http://samovarchik.info/articles/web/...
и
http://samovarchik.info/web/articles/...

Первому варианту соответствует "классическая" навигация, т.е. в навигационном меню у нас "Форумы", "Статьи", "Блоги", и т.д, второй - "навигации по категориям", т.е. "Мы", "1С", "Web", и т.д.

Как должен выглядеть адрес дальше? (любые комментарии приветствуются)

Считаю, что ID сущностей (доска, тема, сообщение) в нем должны присутствовать, но не все сразу. Так мы избавимся от проблем типа "переименовал статью, все ссылки на нее сломались..."
Что-то вроде:

http://samovarchik.info/Web/Articles/FluxBB_Power_Edition/62/    <-- доска
http://samovarchik.info/Web/Articles/FluxBB_Power_Edition/Синтаксис_шаблонизатора/2896/    <-- тема
http://samovarchik.info/message/6312/    <-- отдельное сообщение
http://samovarchik.info/post/6312/       <-- или так
http://samovarchik.info/Web/Articles/FluxBB_Power_Edition/Синтаксис_шаблонизатора/post/6312/    <-- или так (все-равно будет редирект)

Для блогов можно добавить в адрес дату публикации.

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

http://samovarchik.info/Web/Articles/FluxBB_Power_Edition/%D0%A1%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%81_%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%D0%B0/2896/

Преобразование его в нормальный вид - это уже работа для браузеров. К сожалению, даже сегодня, не все браузеры делают это правильно. Кажется не осталось таких, которые не отображали бы в адресной строке русские символы вместо их кодов. Но вот при копировании оттуда адреса, его вид будет зависеть от браузера. Opera, например, справляется с этой задачей превосходно. Firefox 3.6 помещает в буфер обмена "некрасивый" вариант адреса. Можно потестировать разные браузеры на русской википедии, например :)

Редактировался yoorick (26.01.2012, 16:35:26)

Re: Friendly URL

По поводу русских символов в адресе - я категорически против. Возможно для кого-то удобно (воспринимать), но теряется та самая универсальность по причине описанной в первом сообщении. А еще такой адрес "офигенно" будет на телефоне набирать.

По поводу ЧПУ: Например на oszone.ru в статьях её не используют http://oszone.net/8587 и это не сильно напрягает. Я в общем то уже и не помню когда последний раз на это обращал внимание. Таким образом если использовать только цифровой идентификатор избавимся от потенциальных проблем и для посетителей и для поисковых роботов.

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

http://samovarchik.info/post/6312/

Re: Friendly URL

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

Evgen пишет

По поводу ЧПУ: Например на oszone.ru в статьях её не используют http://oszone.net/8587 и это не сильно напрягает. Я в общем то уже и не помню когда последний раз на это обращал внимание. Таким образом если использовать только цифровой идентификатор избавимся от потенциальных проблем и для посетителей и для поисковых роботов.

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

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

http://oszone.net/8628/windows_7
http://oszone.net/13874/Development

А также вот такие URL для тэгов:

http://oszone.net/tags/2469/Для разработчиков/

Которые из-за кодировки Win1251 даже Оперой обрабатываются как:

http://oszone.net/tags/2469/%C4%EB%FF%20%F0%E0%E7%F0%E0%E1%EE%F2%F7%E8%EA%EE%E2/
Evgen пишет

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

http://samovarchik.info/post/6312/

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

Re: Friendly URL

1) нам на сегодня не нужны русские символы. дождёмся когда все браузеры (и в мобильных устр-вах) научатся правильно их обрабатывать.

2) сейчас не нужно имя статьи в URL - достаточно аккуратного ID

3) ЧПУ нужно для разделов а они статичны

 

Дизайн сайта отсутствует
оформление: Группа «САМОВАРчик»

[ Сгенерировано за 0.015 сек, 8 запросов выполнено - Использовано памяти: 1.91 MiB (Пик: 1.97 MiB) ]