Re: Apache: Request exceeded the limit of 10 internal redirects

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



James Guarriman wrote:

Hi

I've just installed Apache 2.0.52, with:

./configure --prefix=/usr/local/httpd --enable-so
--enable-modules=all

My httpd.conf includes:
-----------------------------------
<VirtualHost mydomain>
ServerAdmin f...@mydomain
DocumentRoot "/home/mydomain"
ServerName mydomain
ErrorLog logs/mydomain-error_log
CustomLog logs/mydomain-access_log common
DirectoryIndex index.php index.html index.html.var
<Directory "/home/mydomain">
php_flag allow_url_fopen 1
php_flag magic_quotes_gpc 0
RewriteEngine on
RewriteOptions MaxRedirects=15
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /$1.php
</Directory>
</VirtualHost>
---------------------------------
(I try to make Apache serve 'foo' as 'foo.php')

But when accessing 'http://mydomain/foo', I get no
webpage,
but this error log:
----------------------------------
[Mon Jan 24 10:47:59 2005] [debug]
mod_rewrite.c(1778): [client
192.168.2.101] mod_rewrite's internal redirect status:
10/15.
[Mon Jan 24 10:47:59 2005] [error] [client
192.168.2.101] 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.
[Mon Jan 24 10:47:59 2005] [debug] core.c(2748):
[client 192.168.2.101]
r->uri =
/favicon.ico.php.php.php.php.php.php.php.php.php.php
[Mon Jan 24 10:47:59 2005] [debug] core.c(2754):
[client 192.168.2.101]
redirected from r->uri =
/favicon.ico.php.php.php.php.php.php.php.php.php
[Mon Jan 24 10:47:59 2005] [debug] core.c(2754):
[client 192.168.2.101]
redirected from r->uri =
/favicon.ico.php.php.php.php.php.php.php.php
[Mon Jan 24 10:47:59 2005] [debug] core.c(2754):
[client 192.168.2.101]
redirected from r->uri =
/favicon.ico.php.php.php.php.php.php.php
--------------------------------

If I remove the line 'RewriteOptions MaxRedirects=15',
I get
a very similar error:
----------------------------
[Wed Jan 24 10:31:29 2005] [debug]
mod_rewrite.c(1778): [client 192.168.2.101]
mod_rewrite's internal redirect status: 10/10.
[Wed Jan 24 10:31:29 2005] [error] [client
192.168.2.101] mod_rewrite: maximum number of internal
redirects reached. Assuming configuration error. Use
'RewriteOptions MaxRedirects' to increase the limit if
neccessary.
[Wed Jan 24 10:31:29 2005] [debug]
mod_rewrite.c(1778): [client 192.168.2.101]
mod_rewrite's internal redirect status: 0/10.
-------------------------------

What am I doing wrong? Thank you very much.


What you are doing wrong is trying to use mod_rewrite, the nightmare extension from hell!
Seriously though, it is your rewrite rule that is wrong, you have defined a recursion in there for any filename that do not already end '.php' or have no .


RewriteRule ^(.*)$ /$1.php => add '.php' to the end of any filename that has a '.' in it somewhere (remember that you are in unix world, so the . does not signify a file extension in the same way as a domestos environment, it is just part of the filename).
eg1) blah => blah (no change as it doesn't match the regex)
eg2) favicon.ico => favicon.ico.php
when the rule next runs, it finds that favicon.ico.php does not match the exception of .php (the .ico gives the first match), so adds .php again, and again, and again, and again.....

Tom


__________________________________ Do you Yahoo!? Yahoo! Mail - 250MB free storage. Do more. Manage less. http://info.mail.yahoo.com/mail_250





-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux