ЧПУ. Как с ними быть?

Jenius

Guest
ЧПУ. Как с ними быть?

Для преобразование урла использую не mod_rewrite, а просто получаю переменную REQUEST_URI и потом уже регулярными выражениями вырезаю только то что мне нужно.

www.xxx.ru/about/contacts/

Что я делаю, я получаю about и contacts. Присваиваю эти значения переменным $category=about и $subcategory=contacs

И все вроде бы замечатьльно, но если появляется 3 значение
www.xxx.ru/about/contacts/telephones/

И это тоже не проблема так же действую как и предыдущий раз. и значение присваиваю переменной $more=telephones.

Но на лругих страницах мне это значение нужно не к переменной more адопустим к переменной select.
Подскажите. буду рад
 

Z.O.S.

Новичок
Попробуй делать так: www.xxx.ru/about/contacts/more_telephones/
www.xxx.ru/about/contacts/select_telephones/
 

SelenIT

IT-лунатик :)
Jenius

1. Чем "другие страницы" отличаются от "не других"? Иными словами, от чего зависит, какой переменной присвоить третий параметр запроса?

2. Почему бы не унифицировать имена входных переменных?
 

Jenius

Guest
Автор оригинала: SelenIT
Jenius

1. Чем "другие страницы" отличаются от "не других"? Иными словами, от чего зависит, какой переменной присвоить третий параметр запроса?

2. Почему бы не унифицировать имена входных переменных?
Вот к прмеру у меня модуль подбора устройства к мобильному телефону. При подборе значение устройства передается POST'ом в файл с функцией вывода результата. (предположим тот же index.php) Но при преобразовании в ЧПУ я всегда делаю редирект на index.php и переменные $_POST теряются.

Выход то я нашел. Сделал через сессий. Но мне кажеться, что это не лучший выход. Как это можно сделать не через сессии?

Автор оригинала: SelenIT
Jenius
1. Чем "другие страницы" отличаются от "не других"?
Ничем, только количество переменных постоянно растет, и мне приходится писать несколько паттернов. Нельзя ли это написать одним паттерном?
 

phobos

Новичок
я так и не понял что ты пытаешься наколдовать...
но если дело только в кол-ве то юзай эксплоде.
$tmp_arr = explode("/",$url);
а потом как с простым массивом
считай сколько их там и присваивай...
 

Leonid

PHP? нет, не слышал...
Не стоит мудрить с переменными $category, $subcategory...
Просто создаешь массив $path :
$path[0] = 'about'
$path[1] = 'contacts'
$path[2] = 'tepephones'
и т.д.

эти значения, назовем их, скажем, aliases (может не самое подходящее слово, ну да пусть будет) пусть будут уникальными, т.е. нельзя использовать telephones в разных разделах сайта. Их все пихаешь в БД вместе с названиями разделов и html-контентом (А также id и parent_id - родительскаЯ страница и другими нужными данными) по этим данным строишь дерево разделов сайта, и отображаешь текущую.

Простенькая CMS готова. :)
 

Jenius

Guest
:)
Спасибо за ответ, но я уже сам разобрался.
 
Сверху