Правило mod_rewrite работает не так как надо.

  • Автор темы Green Mother
  • Дата начала

Green Mother

Guest
Правило mod_rewrite работает не так как надо.

Проблема решена (внизу этого сообщения)

Правило:

RewriteRule ^(self\-service)/?(.*)$ $1.php?z=1&$2 [L]

стоит самым первым, сразу под RewriteEngine on

идем по http://work.rustex.ru/prar2/self-service/page=2
возвращает:

_GET["z"] = 1
_GET["_php"] = no value

должно (по идее):

_GET["z"] = 1
_GET["page"] = 2

в чем проблема не пойму вот уже час наверна.

Apache/1.3.29 (Unix) PHP/5.0.3
Так же не работает под виндой.

-~{}~ 28.12.04 16:41:

Да, пробовал ставить:

RewriteRule ^(self\-service)/?(.*)$ http://server/info.php?z=1&$2 [R]

http://server/prar/www/self-service/page=23
редиректит на
http://server/info.php?z=1&page=23
(т.е. как надо)

-------------------------------------
Проблема решена, видимо, дело в том, что, несмотря на [L], если правило в .htaccess (о чем я забыл упомянуть), он все равно повторно применяет правило, после редиректа. Т.е. обработав /self-service/page=2 преобразует его в service.php?page=2, которое потом преобразует еще раз. Непонятно только почему не зацикливается. Наверно потому что 3-е преобразование его не меняет.
 
Сверху