Rewrite не работает

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

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) исправить кривое правило с бесконечной переадресацией?
 
флаг [L]


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

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

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

я понимаю суть проблемы, если сделать [R] - видно наглядно, но исправить то как?
 
RewriteEngine on
RewriteBase /
RewriteRule ^proxy.php.*$ - [L]
RewriteRule ^(.*)$ /proxy.php/$1 [L]

?
 
А так?
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /proxy.php/$1
 
боюсь, что никак (флагами и т.п). потому что .htaccess ищется каждый раз, когда идем в директорию и поэтому rewrite запускается каждый раз по-новому, он ведь не знает, что в эту директорию уже заходили.

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

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

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