правило mod_rewrite

Slastik

Новичок
правило mod_rewrite

Помогите написать правило mod_rewrite, что то у самого не получается

RewriteRule ^([-a-zA-Z0-9_]+)/?$ /file.php?data=$1 [L]
вот такое правило я написал что бы в адресе типа
http://site.ru/page/ выделяло слово page и передавало его в качестве переменной data в страницу file.php
Тут все ок

но я еще хочу что бы в адресе типа http://site.ru/page/?var=text также выделяло строчку var=text и передавало ее файлу file.php
то есть слинкованный урл должен иметь вид
http://site.ru/file.php?data=page&var=text
причем в идеале для произвольного количества параметров с любыми именами.
ну на худой конец хотя бы что бы слинкованный урл имел вид:
http://site.ru/file.php?data=page&url=?var=text

мучаюсь, что то никак не получается

Спасибо
 

MadGreen

meninweb
а вид ссылки http://site.ru/page/text тебя не устраивает? как-то нелогично, переходишь на статику модреврайтом, а вернулся опять к динамике...
 

Slastik

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

TAHK

Новичок
Ну в результате есть 2 варианта
1-й - писать правило в стиле
RewriteRule ^([-a-zA-Z0-9_]+)/?$ /file.php?data=$1 [L, QSA]

либо
RewriteRule ^([-a-zA-Z0-9_]+)/?([-a-zA-Z0-9_]*)/?$ /file.php?data=$1&var=$2 [L]

что в принципе приведет к одному и тому же результату, кроме того, что первый вариант удобоваримее )
 

MadGreen

meninweb
причем тут сравнение вариантов и удобоваримость? ему нужны оба

просто http://site.ru/page/text он не видел, а написать правило думаю мог сам...
хотя и не увидел до сих пор, наверное
 

Slastik

Новичок
Автор оригинала: MadGreen
я тебе написал как статически это будет выглядеть
http://site.ru/page/text
а как я буду знать имя переменной в вашем случае?

-~{}~ 15.08.06 21:04:

а возможно как то сделать для произвольного количества параметров
не подставляя var=$2 в /file.php?data=$1&var=$2 [L]
 

Slastik

Новичок
да

пока писал уже ответили.
форум не удобный. что разрешает постить не проверяя были ли новые ответы

-~{}~ 15.08.06 21:11:

только вот такой вариант меня мало устраивает, получается нужно под все ссылки свое правило писать.

лучше уж передавать весь урл, парсить его в нужном месте и проверять на нужные параметры
 

MadGreen

meninweb
а скрипт парсинга будет угадывать имена твоих переменных? просто интересно, как ты собрался реализовывать механизм искусственного интеллекта...
 

Slastik

Новичок
нет
я просто буду всю строка распарсивать
http://site.ru/page/?var=text
cначала parse_url а потом parse_str
и проверять наличие нужных параметров
 
Сверху