Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как правильно разбирать ЧПУ?
 
 автор: DJ Paltus   (23.05.2011 в 15:44)   письмо автору
 
 

Работаю с древовидной структурой сайта при неограниченной вложенности.
структура БД примерно такая:

id - уникальный ИД
url - больше не уникальный человекочитаемый адрес на латинице
title - заголовок русский
text - содержимое
parent - id родительской страницы


Раньше использовал уникальные значения url (помимо уникального же id) для каждой страницы, то есть index.php?page=somepage вело на строго определенную страницу, вне зависимости от глубины ее залегания (GET-параметр для навигации был всегда один).
Связался на свою голову с сеошниками. Те жаждут настоящего ЧПУ вида "site.ru/services/someservice/description/main".

В связи с этим, возникает вопрос.

Получаю через mod_rewrite в index.php REQUEST_URI указанного выше сеошного вида. Как правильнее поступить -
1) рекурсивно проверять наличие записи "services" в корне, "someservice" в "services" и так далее, после чего выводить либо страницу с содержимым, либо по первой же ошибке кидать 404,
2) хранить в поле url готовую полную ссылку со всеми родителями и ориентироваться на нее целиком?

И что делать, если в определенный момент действительно понадобится сослаться на физически существующую директорию, скажем, /admin/, а не на страницу с `url`='admin'?

  Ответить  
 
 автор: cheops   (23.05.2011 в 16:56)   письмо автору
 
   для: DJ Paltus   (23.05.2011 в 15:44)
 

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

  Ответить  
 
 автор: DJ Paltus   (23.05.2011 в 17:45)   письмо автору
 
   для: cheops   (23.05.2011 в 16:56)
 

Это получается, что ссылка
"http://site.ru/services/someservice/cat/main" приводит тода же, куда и "http://site.ru/services/blabla/main"?

  Ответить  
 
 автор: cheops   (23.05.2011 в 18:12)   письмо автору
 
   для: DJ Paltus   (23.05.2011 в 17:45)
 

Если main уникально в пределах системы, то да, если уникальность ключевых слов выдержать не удается, тогда, конечно, такой способ не подойдет.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования