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

  • Автор темы Автор темы Jenius
  • Дата начала Дата начала

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.
Подскажите. буду рад
 
Попробуй делать так: www.xxx.ru/about/contacts/more_telephones/
www.xxx.ru/about/contacts/select_telephones/
 
Jenius

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

2. Почему бы не унифицировать имена входных переменных?
 
Автор оригинала: SelenIT
Jenius

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

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

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

Автор оригинала: SelenIT
Jenius
1. Чем "другие страницы" отличаются от "не других"?
Ничем, только количество переменных постоянно растет, и мне приходится писать несколько паттернов. Нельзя ли это написать одним паттерном?
 
я так и не понял что ты пытаешься наколдовать...
но если дело только в кол-ве то юзай эксплоде.
$tmp_arr = explode("/",$url);
а потом как с простым массивом
считай сколько их там и присваивай...
 
Не стоит мудрить с переменными $category, $subcategory...
Просто создаешь массив $path :
$path[0] = 'about'
$path[1] = 'contacts'
$path[2] = 'tepephones'
и т.д.

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

Простенькая CMS готова. :)
 
:)
Спасибо за ответ, но я уже сам разобрался.
 
Сверху