ЧУП. Как идентифицировать переменные

Nicca

Новичок
ЧПУ. Как идентифицировать переменные

Предполагаются урлы такого типа:

*.com/kat/
*.com/kat/subcat/
*.com/kat/subcat/region/
*.com/kat/subcat/region/variant/
*.com/kat/subcat/region/variant/page/

*.com/kat/
*.com/kat/region/
*.com/kat/region/variant/
*.com/kat/region/variant/page/

*.com/kat/
*.com/kat/variant/
*.com/kat/variant/page/

*.com/kat/
*.com/kat/page/

Тоесть по значению(символьный клас) они похожи, а реально обозначают разные переменные.

Как для такого типа задачи написать рег. выражение и реально ли?
 

ys

отодвинутый новичок
ЧУП?
"Человеко Уродливая Порнография" ?
 

Nicca

Новичок
Ну да ЧПУ)))
Может есть смысл сделать ссылки такого типа:
*.com/kat/sub_cat/?val_1=$a&$val_2=$b

(Ссылки начиная с ном.3 встречаются редкои ередаются методом пост)
 

Gas

может по одной?
triumvirat
вообще да, но в посте не говорится что это правила для rewrite

Nicca
или добавляй уникальный префикс/суфикс или не добавляй, а определи порядок в котором будут идти проверки для пересекающихся урлов, кто первый нашёлся - то и показываешь.
 

Beavis

Banned
может *.com/kat/subcat/region/variant/page/ реврайтить на *.com/route.php?route=kat/subcat/region/variant/page/
и с помощью php обрабатывать?
 

TutanXamoN

Новичок
Nicca
Может есть смысл сделать ссылки такого типа:
*.com/kat/sub_cat/?val_1=$a&$val_2=$b
Если делать так то о каких ЧПУ речь?
Как это сделать?
Читать мануал по рег. выражениям и обрабатывать урлы одним скриптом а реврайт настроить на отдачу всего урла етому скрипту.

-~{}~ 21.02.08 22:31:

A1x
Угу. И будет у нас свичовый свич в свиче + совсем иерархическая структура.
 

Nicca

Новичок
Читать мануал по рег. выражениям и обрабатывать урлы одним скриптом
Вот сдесь не понятно.
Все переменные в урле - текстовые . Как их различать? Они же не привязываются конкретно до места в урле! Например переменная может встречатьсяна 5 а может на 4 месте.
 

A1x

Новичок
Автор оригинала: Beavis
может *.com/kat/subcat/region/variant/page/ реврайтить на *.com/route.php?route=kat/subcat/region/variant/page/
и с помощью php обрабатывать?
можно рерайтить просто на *./route.php и в $_SERVER['REQUEST_URI'] будет /kat/subcat/region/variant/page/
 

Gas

может по одной?
Nicca
ты сам ответил на свой вопрос.
Если в урле встречается page или глубина 4-уровня - определить не проблема
иначе или пересмотреть схему урлов или прочитать
 

TutanXamoN

Новичок
Nicca
Первое:
реврайт настроить на отдачу урла скрипту-контроллеру
Второе:
Обрабатывать имеющуюся переменную так как душе угодно хоть регулярками хоть експлодом с разделителем "/", а там уже вариантов много либо проверяй массив на наличие определённых переменных либо без разбиения ищи их регулярками
 

Nicca

Новичок
Автор оригинала: TutanXamoN
Nicca
Первое:
реврайт настроить на отдачу урла скрипту-контроллеру
Второе:
Обрабатывать имеющуюся переменную так как душе угодно хоть регулярками хоть експлодом с разделителем "/", а там уже вариантов много либо проверяй массив на наличие определённых переменных либо без разбиения ищи их регулярками
Хорошо. Можно пример, хотя бы на алгоритм. языке, вот:

.com/tehnika/dvd/ - В каталоге двд техника
.com/tehnika/dvd/kiev/ - В каталоге двд техника в регионе Киев

.com/tehnika/dvd/kyplu/kiev/ - В каталоге двд техника в регионе Киев с категорией куплю

.com/tehnika/dvd/kyplu/kiev/3/ - В каталоге двд техника в регионе Киев с категорией куплю на 3 странице

.com/tehnika/kyplu/kiev/ - В каталоге техника в регионе Киев с категорией куплю

.com/tehnika/kyplu/ - В каталоге техника с категорией куплю

Как в этом примере распарсить урл?
 

Духовность™

Продвинутый новичок
хранить в таблицах соответствие тип_модуля => URL

соответственно при запросе

.com/tehnika/dvd/kyplu/kiev/

смотреть что такое kyplu - какой это модуль.
 

Nicca

Новичок
Блин этож сколько запросов тогда будет... И что будет с сервером при 1000-2000 хостов

Вобщем в который раз убеждаюсь что СЕО это не для людей
 
Сверху