Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: mod_rewrite помогите составить регулярку
 
 автор: Bogong   (08.02.2012 в 19:50)   письмо автору
 
 

Бадаюсь с ЧПУ, не особо силен в регулярке ... Помогите составить регулярное выражение для Apache mod_rewrite...
есть строка:
?page=Name1&modul1=param1&modul[N]=param[N]
В данной строчке всегда присутствует первый параметр page, а остальные могут быть или могут не быть, и их количество может быть произвольным. Разрешенные символы буквы латиницы и кириллицы, а так же цифры от 0 до 9.
Мне нужно получить на выходе строчку:
Name.modul1-param1.modul[N]-param[N].html

Саму регулярку написал: ([a-zA-Zа-яА-Я0-9]+).*(([a-zA-Zа-яА-Я0-9]+)-([a-zA-Zа-яА-Я0-9]+)) ... Но как последний кусок заставить многократно прописывать в mod_rewrite???

Заранее благодарен за помощь ...

  Ответить  
 
 автор: Sfinks   (08.02.2012 в 20:34)   письмо автору
 
   для: Bogong   (08.02.2012 в 19:50)
 

Стоит начать с того, что мод реврайт не примет от вас [а-яА-Я]. Никакой кирилицы в .htaccess быть не может. Вместо этого нужно писать [\xC0-\xFF]

  Ответить  
 
 автор: Sfinks   (08.02.2012 в 20:40)   письмо автору
 
   для: Bogong   (08.02.2012 в 19:50)
 

И закончить тем, что в реврайт рул не может быть неограниченного числа параметров. Максимум 9. Так по крайней мере в описании.
А неопределенное - это вообще что-то.
Вы вообще как себе представляете неопределенное число входных переменных? Если представляете, то перекидывайте весь поток на пхп-скрипт и там в рекурсии или в цыкле разбирайте $_SERVER["REQUEST_URI"] на неопределенное число $_GET переменных. mod_rewrite не рекурсий не циклов не использует.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования