Xpoint
   [напомнить пароль]

ЧПУ в CMS

Метки: [без меток]
2007-04-10 22:03:26 [обр] xxx+++(0/10)[досье]
сообщение промодерировано

Проясните меня пожалуйста по URL-адресам в CMS, кто реально разрабатывал! А то я что-то видимо недопонимаю в принципе реализации такого механизма.

Все видели красивые урлы вида (ссылки придуманные):

http://example.com/auto/legkovoe/vaz/2110
http://example.com/auto/legkovoe/vaz/2110/zapchasti/bampera
http://example.com/auto/legkovoe/vaz/2110/otzivi

Системы, что позволяют строить такие урлы, неограниченной вложенности, подразумевают, что в дереве сайта возможно создать страницу с любым уровнем вложенности, обрабатываемую любым обработчиком (модулем). Поясню:

Вот есть 3 ссылки. Первая ссылка указывает на описание конкретной модели авто - легковое ваз 2110.
Вторая ссылка указывает на описание запчасти бампер для авто легковое ваз 2110.
Третья ссылка указывает на страницу отзывов об автомобиле ваз 2110.

Имея на руках «идею» об этих 3 ссылках я начинаю пытаться реализовать подобное, но моментально натыкаюсь на простое недопонимание реализации механизма. А нужно мне всего-навсего добиться того, что, что бы в броузере клиента отображалось то, о чем «говорит» URL. Что бы по первой ссылке была страница об автомобиле ВАЗ 2110, на второй странице должна отображаться информация о запчастях, а конкретно о бамперах этой модели, а третья страница была страница отзывов о ВАЗ 2110. Все три страницы должны обрабатываться различными модулями:

Первая страница обрабатывается модулем automobile.php, который выводит из таблицы все данные относительно модели легкового авто ВАЗ 2110.

Вторая страница обрабатывается модулем zapchasti.php, который выводит из таблицы все данные относительно конкретной запчасти с ID = bampera.

Третья страница – обрабатывается модулем otzivi.php, который рисует HTML-форму и комментарии пользователей относительно автомобиля 2110.

Как обычно реализуется подобное? Кто скажет?

спустя 1 час 59 минут [обр] Джафаров Эльдар(0/6)[досье]

в .htaccess

RewriteRule ^(.*)$ index.php?url=$1

теперь, в url - будет строчка вида auto/legkovoe/vaz/2110
сплитом режешь по / вот у ття массив, в зависимости от его содержания выводишь результат

спустя 15 часов [обр] Привидение+(0/795)[досье]
Джафаров Эльдар[досье]
Зачем писать заведомо кривое решение?
Откуда такая кривая мода вообще пошла, на ^(.*)$?
без условий
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
это правило оставит сайт без графики. Да и с ними все равно будет кривизна при отсутствии запрашиваемого файла - favicon, например
спустя 6 минут [обр] Привидение+(0/795)[досье]
Powered by POEM™ Engine Copyright © 2002-2005