[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с RewriteRule
battrack
Есть правило вида:
RewriteRule ^(.*)$ index.php?page=$1 [L]
Т.е. вроде все как понятно. Группа из любых символов (.*) подставляется вместо $1
Получается что запрос вида mysite.ru/about будет преобразован в mysite.ru/index.php?page=about
Все отлично. Работает.

Но вот встала проблема чуть усложнить это правило и сделать что-то типа
преобразования mysite.ru/about/company в mysite.ru/index.php?page=about&article=company
Я бы сделал это так: RewriteRule ^(.*)/(.*)$ index.php?page=$1&article=$2 [L] ,
Но не получается. Сижу уже полдня читаю регулярные выражения, директивы mod_rewrite, но пока что-то туго идет. Видимо пока недопонимаю. Подскажите, как преобразовать данный запрос. Буду очень благодарен.





Спустя 14 дней, 5 часов, 2 минуты, 33 секунды (9.08.2008 - 16:07) StelZek написал(а):
RewriteRule ^(.*)\/(.*)$ index.php?page=$1&article=$2 [L]
а так?

Спустя 24 минуты, 24 секунды (9.08.2008 - 16:31) zona7o написал(а):
Насколько я разбираюсь в мод_реврайтах(а я почти не разбираюсь:-D) вот что получается:
в переменную $1 - записывается about/company - так как символ / - не исключен из первой группы (.*) - поэтому попробуй: [a-zA-Z0-9] вместо (.*).

Спустя 46 минут, 30 секунд (9.08.2008 - 17:18) Viking написал(а):
опять 25

RewriteRule ^([^/]+)/([^/]+)/?$ /index.php?page=$1&article=$2 [L]

Спустя 2 часа, 34 минуты, 33 секунды (9.08.2008 - 19:52) waldicom написал(а):
а не подскажете, где про это поподробнее почитать? Не про regexp, а именно про то, по каким правилам разбираются RewriteRule и куда что подставляется?

Спустя 9 минут, 7 секунд (9.08.2008 - 20:01) Viking написал(а):
Цитата(waldicom @ 9.8.2008, 20:52) [snapback]45731[/snapback]
а не подскажете, где про это поподробнее почитать? Не про regexp, а именно про то, по каким правилам разбираются RewriteRule и куда что подставляется?

первое - это что ищем, второе - на что заменяем, если я правильно понял вопрос
подробнее - например в википедии про .htaccess

Спустя 1 год, 7 месяцев, 18 часов, 41 минута, 38 секунд (10.03.2010 - 15:43) htr написал(а):
Люди добрые а не подскажите как сдлеать, если переменное число параметров, например может быть:
/about/compani/page1

соответственно надо:
/index.php?page=about&article=compani&str=page1

а может быть:
/about/compani

соответственно:
/index.php?page=about&article=compani&str=


и еще такое интересует, как вот это сделать, если посетитель набирает адрес
http://site.ru/about

соответственно
/index.php?page=about

но если он наберёт
http://site.ru/about.php

и в корне есть файл about.php, то запустится не
/index.php?page=about

а
/about.php

как запретить такое?

Заранее спасибо...


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.