Вы не вошли.
Страницы 1
В движке предполагается использовать встроенный механизм дружественных 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)
По поводу русских символов в адресе - я категорически против. Возможно для кого-то удобно (воспринимать), но теряется та самая универсальность по причине описанной в первом сообщении. А еще такой адрес "офигенно" будет на телефоне набирать.
По поводу ЧПУ: Например на oszone.ru в статьях её не используют http://oszone.net/8587 и это не сильно напрягает. Я в общем то уже и не помню когда последний раз на это обращал внимание. Таким образом если использовать только цифровой идентификатор избавимся от потенциальных проблем и для посетителей и для поисковых роботов.
Из приведенных конструкцию для поста больше всего нравится эта:
http://samovarchik.info/post/6312/
По поводу русских букв меня просил задуматься Паша. Я задумался, почитал на хабре, посмотрел как это реализовано на той же википедии, выложил всю эту информацию тут в сжатом виде :)
По поводу ЧПУ: Например на 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/
Из приведенных конструкцию для поста больше всего нравится эта:
http://samovarchik.info/post/6312/
Мне тоже. Несмотря на то, что длинный вариант дает больше представления о том, к чему относится это конкретное сообщение (доска, тема). При переименовании доски или темы, при переносе сообщения в другую тему, благодаря наличию ID сообщения в адресе, старые ссылки останутся технически валидными, но будут врать о том, куда ведут (доска, тема).
Страницы 1
[ Сгенерировано за 0.016 сек, 8 запросов выполнено - Использовано памяти: 1.91 MiB (Пик: 1.97 MiB) ]