RewriteRule

hsasha

Новичок
RewriteRule

Скажите я правильно сделал?
RewriteRule ^([^.]+)_([0-9]+).html /index.php?t=l&l=$1&page=$1
для страницы типа site.com/index.php?t=l&l=a&page=61
 

MiksIr

miksir@home:~$
Неа. Самые первые скобки "любое кол-во символов, кроме точки" съест у тебя и подчеркивание и циферки.
Скорее уж так:
RewriteRule ^([^_]+)_([0-9]+).html /index.php?t=l&l=$1&page=$2

-~{}~ 04.12.06 17:34:

И точку заэкранировать
RewriteRule ^([^_]+)_([0-9]+)\.html /index.php?t=l&l=$1&page=$2
 

hsasha

Новичок
Спасибо, а не подскажешь хороший ман по этому? Только не на сайте апача, я там был, заумно написано...мне бы что попроще....на понятных примерах...
 

MiksIr

miksir@home:~$
Гугли по словам "регулярные выражения".
А вообще, на сайте апача все разжевано - почитай несколько раз, просто =)
 

hsasha

Новичок
Ок, а еще вопросик,
если переменная l=0-9 в :
RewriteRule ^([^_]+)_([0-9]+)\.html /index.php?t=l&l=$1&page=$2
то правило не работает...как поправить?
 

MiksIr

miksir@home:~$
т.е. адрес 4_5.html, к примеру? Должно работать это правило.
 

hsasha

Новичок
Сначала идет по буквам a_1.html, a_2.html ....
а цифры 0-9_1.html, 0-9_2.html -- не работают:(
 

hsasha

Новичок
Ой я извиняюсь, то у меня в скрипте запрос к базе неправильный, 1000+1 извинение....все работает, еще раз спасибо

-~{}~ 12.12.06 16:51:

Еще вопрос во Реврайту:
Для сайтов типа http://domain.com/A_1.html я делал:
RewriteRule ^([^i]+)_([0-9]+)\.html /index.php?t=l&l=$1&page=$2
А для http://A_1.domain.com не знаю как...

-~{}~ 12.12.06 16:54:

Это не сработало, что тут неправильно?
RewriteCond %{HTTP_HOST} ^([^i]+)_([0-9]+).domain.com$
RewriteRule .* /index.php?t=l&l=$1&page=$2
 

MiksIr

miksir@home:~$
$x ссылаются только на группировку в текущем rewriterule. Дабы сослаться на группировку в предыдущем rewritecond надо использовать, вроде как %x (проверь по доке - там это есть)
 

hsasha

Новичок
Решил проблему так
RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{HTTP_HOST} ^([^i]+)i([0-9]+).domain.com$
RewriteRule .* http://domain.com/index.php?t=l&l=%1&page=%2 [L]
 

MiksIr

miksir@home:~$
Первое можно отбросить и последнее записать
RewriteRule ^/?$ ....
 
Сверху