powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / apache 2.2 mod_rewrite path.php?cat[0]=a&cat[1]=b&cat[...]=...
7 сообщений из 7, страница 1 из 1
apache 2.2 mod_rewrite path.php?cat[0]=a&cat[1]=b&cat[...]=...
    #36878176
itwork
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не понимаю, можно ли как с помощью mod_rewrite
из cсылки
Код: plaintext
localhost/path.php?cat[ 0 ]=a&cat[ 1 ]=b&cat[ 2 ]=c&cat[...]=...
в такую ЧПУ, когда индекс cat может быть неограничен
Код: plaintext
localhost/a/b/c/...
...
Рейтинг: 0 / 0
apache 2.2 mod_rewrite path.php?cat[0]=a&cat[1]=b&cat[...]=...
    #36881114
chAlx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, во-первых, обычно rewrite происходит в обратную сторону: из http-запроса "/a/b/c/" формирует реальный запрос к скрипту.

Во-вторых, если пример такой, какой есть ( cat[0]=a&cat[1]=b... ), то в нём можно опустить числовые индексы (PHP и любой другой нормальный движок это поймёт): cat[]=a&cat[]=b .

В третьих, при таком успрощении вместо извращений с рекурсивными регэкспами можно написать обычный и использовать его много раз:

Код: plaintext
RewriteRule ^/([a-z])/(([a-z]/)*)(path.php\?(.+)|)$   /$2path.php?$5&cat[]=$1  [N]

(Может, и без [N] будет работать.)
...
Рейтинг: 0 / 0
apache 2.2 mod_rewrite path.php?cat[0]=a&cat[1]=b&cat[...]=...
    #36881197
itwork
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
chAlxВо-вторых, если пример такой, какой есть ( cat[0]=a&cat[1]=b... ), то в нём можно опустить числовые индексы (PHP и любой другой нормальный движок это поймёт): cat[]=a&cat[]=b .


о, спасиба об этом не знал!


chAlxвместо извращений с рекурсивными регэкспами можно написать обычный и использовать его много раз:

Код: plaintext
RewriteRule ^/([a-z])/(([a-z]/)*)(path.php\?(.+)|)$   /$2path.php?$5&cat[]=$1  [N]

(Может, и без [N] будет работать.)

т.е если если у меня "cat" может быть от 0 до 1000 то значит N ставить 1000?

а разве регэкси рекурсивными можно сделать? :0
...
Рейтинг: 0 / 0
apache 2.2 mod_rewrite path.php?cat[0]=a&cat[1]=b&cat[...]=...
    #36881236
Kew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[N] - это флаг :)
Заставляет правило (|набор правил) повторяться, пока ему есть чего делать с данным урлом.
...
Рейтинг: 0 / 0
apache 2.2 mod_rewrite path.php?cat[0]=a&cat[1]=b&cat[...]=...
    #36881269
itwork
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kew[N] - это флаг :)
Заставляет правило (|набор правил) повторяться, пока ему есть чего делать с данным урлом.

ой, внатуре,
ну тогда так?
Код: plaintext
RewriteRule ^/([a-z])/(([a-z]/)*)(path.php\?(.+)|)$   /$2path.php?$ 1000 &cat[]=$ 1   [N]
автор$2path.php?$1000&cat[]=$1
и что озночает $2 в переди
...
Рейтинг: 0 / 0
apache 2.2 mod_rewrite path.php?cat[0]=a&cat[1]=b&cat[...]=...
    #36882000
chAlx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
itwork :

Не пытайся наугад испортить почти готовый вариант, а почитай самые азы про регэкспы и попытайся его исправить ;)
...
Рейтинг: 0 / 0
apache 2.2 mod_rewrite path.php?cat[0]=a&cat[1]=b&cat[...]=...
    #36883686
itwork
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
chAlx, вроде как разобрался, Спасиба
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / apache 2.2 mod_rewrite path.php?cat[0]=a&cat[1]=b&cat[...]=...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]