Rewrite не работает

DiMA

php.spb.ru
Команда форума
Rewrite не работает

В .htaccess написал:

RewriteEngine on
RewriteRule ^(.*)$ /proxy.php/$1

получаю Internal Server Error и в лог

[Fri Apr 03 17:05:30 2009] [error] [client] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.

Те же самые 2 строки в httpd.conf работают правильно!

А что дописать в .htaccess, чтобы только им (без httpd.conf) исправить кривое правило с бесконечной переадресацией?
 

zuzmic

Новичок
флаг [L]


у тебя просто бесконечный редирект происходит

/index.php => /proxy.php/index.php
/proxy.php/index.php => /proxy.php/proxy.php/index.php

и так далее
 

DiMA

php.spb.ru
Команда форума
пробовал этот и другие комбинации флагов, найденные в яндексе по тексту ошибки - ничего не меняется

я понимаю суть проблемы, если сделать [R] - видно наглядно, но исправить то как?
 

Gas

может по одной?
RewriteEngine on
RewriteBase /
RewriteRule ^proxy.php.*$ - [L]
RewriteRule ^(.*)$ /proxy.php/$1 [L]

?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
А так?
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /proxy.php/$1
 

dimagolov

Новичок
боюсь, что никак (флагами и т.п). потому что .htaccess ищется каждый раз, когда идем в директорию и поэтому rewrite запускается каждый раз по-новому, он ведь не знает, что в эту директорию уже заходили.

как избежать - доработать регулярку, чтобы она не обрабатывала урлы у которых proxy.php в начале.
 

DiMA

php.spb.ru
Команда форума
Gas
спасибо, работает!

Mr_Max
исключений не нужно, обращение к /proxy.php тоже нужно засовывать в файл, т.е. /proxy.php/proxy .-)

dimagolov
спасибо, буду знать причину проблемы
 
Сверху