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

Форум Apache

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

 

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

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

тема: RewriteRule как составить правильно?
 
 автор: tim313   (22.01.2009 в 04:30)   письмо автору
 
 

Пример:

Страница такого вида:
/3/67/top2.php?sot=2&page=3

Должна составляться из:
/3/top2.php?sot=2&page=3&razdel=67

Все вроде просто , сложность в том что страниц много и много переменных, как обьеденить переменые я недогадываюсь.

Вот еще примеры:


/5/85/top19.php
а Надо:
/5/top19.php?razdel=85



/15/63/top2.php?page=2
а Надо:
/15/top2.php?page=2&razdel=63



/8/156/top6.php?sot=3page=54&width=1280&height=1024
а Надо:
/8/top6.php?sot=3page=54&width=1280&height=1024&razdel=156


Одним словом чтобы число после второго слеша добавлялось бы переменой ?razdel=число ,если другие переменые отсутствуют или добавлялось бы в конец &razdel=число ,если есть другие переменные.

Как я замучался:

Делаю такой запрос


RewriteEngine on
RewriteBase /
RewriteRule ^([0-9]+)/([0-9]+)/(.*)\.([php?]+)(.*)$ /$1/$3.php?$5&razdel=$2 [L]


Проблема в том что переменые после значка "?" непередает, если написать вместо ? например & то все работает....фигня какая-то.
Помогите.

  Ответить  
 
 автор: tim313   (22.01.2009 в 18:39)   письмо автору
 
   для: tim313   (22.01.2009 в 04:30)
 

Методом тыка нашел решение, обход неработоспособности символа ?.


RewriteEngine on
RewriteBase /
RewriteCond %{QUERY_STRING} ^(((.*)+))$
RewriteRule ^([0-9]+)/([0-9]+)/(.*)\.php?$ /$1/$3.php?%1&razdel=$2 [L]


Причем если переменых вообще нету будет такая запись page.php?&razdel= , но главное что работает.

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

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