Страница 1 из 1

Настройка правил mod_rewrite для правильного редиректа

Добавлено: 2010-03-08 16:23:40
russko
Имеется файл .htaccess с набором правил для переадресовки.
Каким образом можно написать RewriteRule чтобы склеить 2 части одного URL.
Например как-то так:

Код: Выделить всё

RewriteRule ^month_detail.cgi(.*)$ /report/user_detail.cgi?$1 [L]
 
Зайдя на адрес http://bla-bla-bla/report/month_detail. ... 0&month=03
получаем URL вида: http://bla-bla-bla/report/user_detail.c ... 0&month=03
Теперь к полученному URL необходимо добавить еще небольшую строку

Код: Выделить всё

&user=alf&mode=month
Конструкция вида:

Код: Выделить всё

RewriteRule ^month_detail.cgi(.*)$ /report/user_detail.cgi?$1&user=alf&mode=month [L]
 
не получается (((
Как можно ? Я к сожалению не силен в написании правил (

Re: Настройка правил mod_rewrite для правильного редиректа

Добавлено: 2010-03-08 21:08:41
stmm
если скрипт month_detail.cgi в корневой папке хоста тогда:

Код: Выделить всё

RewriteRule ^.month_detail.cgi(.*)$ /report/user_detail.cgi?$1&user=alf&mode=month [L]
если например в папке /report тогда:

Код: Выделить всё

RewriteRule ^/report/month_detail.cgi(.*)$ /report/user_detail.cgi?$1&user=alf&mode=month [L]
если скрипт с названием month_detail.cgi в любой папке тогда:

Код: Выделить всё

RewriteRule month_detail.cgi(.*)$ /report/user_detail.cgi?$1&user=alf&mode=month [L]

Re: Настройка правил mod_rewrite для правильного редиректа

Добавлено: 2010-03-09 10:53:48
russko
Спасибо за подсказку!
Но строка вида:

Код: Выделить всё

RewriteRule month_detail.cgi(.*)$ /report/user_detail.cgi?$1&user=%{REMOTE_USER}&mode=month [L] 
работать так же не хочет, поскольку не передаются данные в переменную $1...а именно:
из урла http://bla-bla-bla/report/month_detail. ... 0&month=03
должно получиться http://bla-bla-bla/report/user_detail.c ... mode=month
а в итоге имеем: http://bla-bla-bla/report/user_detail.c ... mode=month

Код: Выделить всё

year=2010&month=03
не передаются...