Смысл категорий в URL
Итак. На многих сайтах можно лицезреть урлы подобного вида:
site.com/news/2006/11/26/982614/
Как это достигается понятно - mod_rewrite либо его аналоги.
Ясно что уникальный ID страницы идет в конце УРЛа (в нашем случае это число 982614), а значит все что идет до него (а именно /news/2006/11/26/) никакой смысловой нагрузки не несет. Выборка из БД идет по уникальному ID страницы, не по иерархии страниц.
По сути этот кусок "для красоты". Ничто не мешает по идее получить доступ к странице подобным образом: site.com?page=982614
Вопрос - насколько верны мои рассуждения? Действительно ли кусок урла /news/2006/11/26/ используется лишь для красоты самой ссылки?
ЗЫ понимаю что вопрос немного некорректен - меня интересует лишь философия данного вопроса.
site.com/982614/
Но вданном случае все это (это news/2006/11/26/982614/) используется для выборки конкретной новости из БД.
Смею предположить что оригнальная ссылка выглядит примерно так:
"www.site.com/news.php?year=2006&month=11&date=26&id=982614"
Ну а если ест возможность достучаться до тойже страницы просто используя site.com?page=982614, то тогда конечно сысла в news/2006/11/26 никакго. Он появляется когда нужны все новости определенного дня (site.com/news/2006/11/26/), меяца (site.com/news/2006/11/) или года (site.com/news/2006/)
Я бы не стал делать на столько "красивую ссылку", анаписал бы уж сразу
Но вданном случае все это (это news/2006/11/26/982614/) используется для выборки конкретной новости из БД.
Смею предположить что оригнальная ссылка выглядит примерно так:
"www.site.com/news.php?year=2006&month=11&date=26&id=982614"
Ну а если ест возможность достучаться до тойже страницы просто используя site.com?page=982614, то тогда конечно сысла в news/2006/11/26 никакго. Он появляется когда нужны все новости определенного дня (site.com/news/2006/11/26/), меяца (site.com/news/2006/11/) или года (site.com/news/2006/)
Собственно это не объясняет других вариантов например таких
site.com/articles/economics/global/871254[/QUOTE]
Тянется из разных таблиц, используються другие обработчики другие сортировки, вывод доп. новостей по данной тематике, да много для чего могут понадобиться доп. переменные...
=)
Это не ответ.
Страницы почти всегда хранятся в одной таблице и каждая имеет уникальный идентификатор. (что ты думаешь на каждую категорию отдельную таблицу заводят? - бред)
Меня как раз интересует назначение этих "виртуальных категорий" если каждая страница имеет четкий и конкретный ID... Получается что они нужны "для красоты"...
Не. Могу через недельку даже вариант представить (если руки дойдут, просто загружен сейчас). Обычно делается это для того (как сказал уже Unglued), чтобы выводить новости за год, месяц, день и конкретную новость.
Это не ответ.
Страницы почти всегда хранятся в одной таблице и каждая имеет уникальный идентификатор. (что ты думаешь на каждую категорию отдельную таблицу заводят? - бред)
Меня как раз интересует назначение этих "виртуальных категорий" если каждая страница имеет четкий и конкретный ID... Получается что они нужны "для красоты"...[/QUOTE]
Таблица не для категории а для раздела, новости могут иметь совсем другой вывод чем те же статьи, соответственно целесообразней создать для разных разделов разные таблицы. Вывод для ,например, статей и новостей может быть разным, соответственно будут использоваться разные обработчики.
К примеру имеем новости в которых обязательно должна быть характеризующая новость картинка, статья же не должна иметь этой картинки, в одной таблице и при указании только id нам придеться выбирать в запросе для статей поле для картинки и обрабатывать его на предмет вывода.... В этом случае имеем 1. ненужный параметр в запросе, 2. не нужный кусок кода проверки, а параметр news или articles сразу корректирует этот запрос.
Этот первое что приходит в голову, варианты могут быть сложнее
К примеру имеем новости в которых обязательно должна быть характеризующая новость картинка, статья же не должна иметь этой картинки, в одной таблице и при указании только id нам придеться выбирать в запросе для статей поле для картинки и обрабатывать его на предмет вывода.... В этом случае имеем 1. ненужный параметр в запросе, 2. не нужный кусок кода проверки, а параметр news или articles сразу корректирует этот запрос.
Этот первое что приходит в голову, варианты могут быть сложнее[/QUOTE]
Да что вы привязались к новостям... А если речь идет о статьях: site.com/articles/physics/862173 - ID статьи уникален и если бы написали site.com/862173 или site.com?page=862173 было бы тоже самое.
Где вообще можно почитать действительно толковые статьи или книги по теме разработки CMS? Не ту муть и воду что обильно произрастает на просторах рунета, а действительно серьезные работы. Язык не важен. Буду признателен.
site.com/articles/physics/862173 - ID статьи уникален и если бы написали site.com/862173 или site.com?page=862173 было бы тоже самое.
Где вообще можно почитать действительно толковые статьи или книги по теме разработки CMS? Не ту муть и воду что обильно произрастает на просторах рунета, а действительно серьезные работы. Язык не важен. Буду признателен.[/QUOTE]
Скинь сайт где так реализовано..
[QUOTE=RussianSpy]Да что вы привязались к новостям... А если речь идет о статьях:
Где вообще можно почитать действительно толковые статьи или книги по теме разработки CMS? Не ту муть и воду что обильно произрастает на просторах рунета, а действительно серьезные работы. Язык не важен. Буду признателен.[/QUOTE]
Скинь сайт где так реализовано..
Как я уже говорил - меня интересует философия а не конкретная реализация. Реализовать я и сам могу что угодно
Без конкретного примера тяжело понять чего хотели добиться авторы скрипта вида site.com/articles/economics/global/871254, если просто для вывода новости то такая конструкция смысла не имеет
Еще единственное что приходит в голову при таком построении ссылки - это ключевые слова в url для поисковиков, но вродь это работает только для забугорных поисковиков
site.com/articles/economics/global/871254, если просто для вывода новости то такая конструкция смысла не имеет
Еще единственное что приходит в голову при таком построении ссылки - это ключевые слова в url для поисковиков, но вродь это работает только для забугорных поисковиков[/QUOTE]
http://www.securitylab.ru/analytics/275948.php
http://www.membrana.ru/articles/simply/2006/08/03/204400.html
[QUOTE=Fenyx]Без конкретного примера тяжело понять чего хотели добиться авторы скрипта вида
Еще единственное что приходит в голову при таком построении ссылки - это ключевые слова в url для поисковиков, но вродь это работает только для забугорных поисковиков[/QUOTE]
http://www.securitylab.ru/analytics/275948.php
http://www.membrana.ru/articles/simply/2006/08/03/204400.html
http://www.securitylab.ru/analytics/275948.php
http://www.membrana.ru/articles/simply/2006/08/03/204400.html[/QUOTE]
во втором варианте действительно нет никакой целесообразности в некоторых переменных
http://www.membrana.ru/articles/health/2006/08/03/204400.html
http://www.membrana.ru/articles/simply/2006/08/03/204400.html
кроме одного!!!
http://www.membrana.ru/articles/health/
скорей всего просто для удобства пользователей создание псевдо файловой системы
[QUOTE=RussianSpy]
http://www.membrana.ru/articles/simply/2006/08/03/204400.html[/QUOTE]
во втором варианте действительно нет никакой целесообразности в некоторых переменных
http://www.membrana.ru/articles/health/2006/08/03/204400.html
http://www.membrana.ru/articles/simply/2006/08/03/204400.html
кроме одного!!!
http://www.membrana.ru/articles/health/
скорей всего просто для удобства пользователей создание псевдо файловой системы
1. Для поисковиков.
Они лучше индексируют
site.com/articles/economics/global/871254, чем
site.com?id=871254.
Т.к. в таком случае в URL присутсвтуют слова: articles, economics и global
Если ввести в гугле, скажем economics, там мы увидим, что он выделяет искомые слова в URL
economics.about.com
en.wikipedia.org/wiki/Economics
т.е. это влияет на релевантность документа в поисковиках
2. Для удобства.
Человеку нагляднее URL вида. site.com/news/2006-10-10/ чем site.com/news.php?date=2006-10-10. Скажем так, для непрограммистов это естественнее :)