Mod_rewrite при GET array[]

Virtus1k

Новичок
Mod_rewrite при GET array[]

Привет.
Подскажите, пожалуйста. Есть урл:

  • ?filter[]=609&filter[]=584&filter[]=62&filter[]=28&filter[]=61&filter[]=215&filter[]=214
Реально ли превратить его в любой более читабельный вид, к примеру filter-609-584-62-28-61-215-214
Загвоздка в том, что не известно сколько filter[] будет. Может быть 1, а может и 10
Большое спасибо
 

Farsh

~ on ~ high ~ wave ~
Немного не в тему, но можно перехватить выбранные данные в форме на стороне клиента и там сгенерить удобоваримый урл и сделать редирект ;) C рерайтом не знаю.
 

Virtus1k

Новичок
tf А можно пример если не сложно. Облазил уже все закрома, не могу найти решения (
 

tf

крылья рулят
а при чем тут закрома? мануал для Mod_rewrite один там и читай
пример на js тебе уже показали
можеше еще сделать на скрипте на который идет get
при посылке формы посылать флаг формы, привести запрос в нужный тебе вид и сделать редирект
 

Virtus1k

Новичок
TF, если не знаешь, зачем тогда говоришь?
Я спросил при помощи MOD_REWRITE можно это сделать? Скриптом с редиректом это и ежу ясно. Речь идет только о MOD_REWRITE
 

tf

крылья рулят
не кричи тут.
я считаю на мod_rewrite это извращение
1) если у тебя такое задание для теста, я уже ответил где искать
2) я не считаю что такое задание должно решатся не самим
3) я не считаю что такое решение вообще где-то нужно использовать
 

Virtus1k

Новичок
Я и не кричал :) кричат всегда большими буквами.
1. Мануал был первоочередно использован, но для своего вопроса там решения не нашел
2-3 его нужно использовать!

Если не можешь помочь - не мешай. Спасибо
 

tf

крылья рулят
дану, поклинись что тут нет больших букв, дети блин http://phpclub.ru/talk/showthread.php?postid=864839#post864839
могу но не хочу, не дети чтобы вестись на провокации
могу но не хочу сказать, какую строчку тут http://phpclub.ru/faq/WhyForum тебе надо читать несколько раз

тебе уже сказали нормально решение твоей проблемы, неустраивает, не надо устраивать цирк
 

dimagolov

Новичок
Virtus1k, mod_rewrite работает на сервере и делает обратное, из "красивой" ссылки пришедшей от клиента разворачивает то, что у тебя в примере, то есть то, что понятно скрипту. а формирует запрос клиент (если это не ссылка а форма) и только он способен сделать его "красивым"
 

Virtus1k

Новичок
dimagolov, спасибо я в курсе :)
Я спросил как верно составить RewriteCond если это возможно для моего случая
 

Virtus1k

Новичок
Ок. перефразирую вопрос. Как дописать правило:

RewriteRule ^fil/([_0-9]+)$ /pages.html?page=$1 [QSA]
что бы урл вида
fil/ter?filter[]=609&filter[]=584&filter[]=62&filter[]=28&filter[]=61&filter[]=215&filter[]=214
обрабатывался как filter-609-584-62-28-61-215-214
 

Фанат

oncle terrible
Команда форума
а мне, кстати, интересно, как программа различает, какой фильтр за что отвечает
 

dimagolov

Новичок
так как mod_rewrite обрабатывает полученные url в цикле пока есть совпадения, то заменяй по одному а замену приписывай в конец запроса.
 

Virtus1k

Новичок
хоть к делу и не относится :) но с жоиненых таблиц выбирает по $_GET['filter'][$i]
 

Фанат

oncle terrible
Команда форума
так неизвестно же, сколько фильтров. и в каком порядке

-~{}~ 08.08.09 17:50:

а я бы вообще не парился с рерайтом, разбирал бы строку скриптом
 

Virtus1k

Новичок
спасибо, *****. Ключевое слово тут "парился" :) Наверное буду скриптом. Просто думал без лишней нагрузки реврайтом сделать
 
Сверху