Why does my website send itself many HTTP requests?
We’ve occasionally seen problems where a website requests its own pages over and over again. If this happens, you may find that your website does not completely work, or that one component of it does not work.
You may also notice that your website’s access.log gets filled with lines like this:
192.0.2.17 - - [02/Mar/2011:02:56:03 -0800] "GET /wordpress/ HTTP/1.0" 200 30288 "-" "WordPress/3.1; http://example.com/wordpress"
... where “192.0.2.17” is the actual IP address of the Web server itself, the user agent is some server software, and there is no “referrer”.
This can happen when your website makes a request to a website to retrieve some resource (for example, an RSS feed to be integrated into your page), but the “external website” that it connects to is its own domain name. This request arrives for itself, which causes a second copy to start, which makes another request to itself, and so on. This loop will continue until the maximum number of processes have been started.
To fix this, make sure that your site doesn't try to load a page from itself in a way that then causes that page to load yet another copy of itself.
What if I can’t even view my site to fix it, because of the problem?
You can temporarily mask the effects of this kind of infinite loop by adding a line like this to your site’s .htaccess file to make the infinite requests fail:
Deny from 192.0.2.17
This is not a proper fix for the problem (it merely masks it), and it may cause subtle new problems that interfere with the normal operation of your site. Be sure to remove this extra line when you’ve properly fixed the problem.