Any idea what's causing this problem?

Well, I started publishing my upgraded websites today, but it wasn’t a pretty sight. I published my revised .htaccess files online, which means that anyone who follows a link to mysite/World/New_York, will get redirected to mysite/world/new-york, though all they’ll see is a 404 error page.

All my websites are crashed, and pages load extremely slowly. It takes forever to publish files online, and sometimes I can’t put anything online at all.

So I was happy to get this notice from my webhost; at least I have some clue about what’s going on. Can anyone explain to me what it means and what I have to do to fix it?

Thanks.


IT appears your own server IP is making GET requests to Apache, causing excessive loading and causing service failures. On today's date, your IP made almost 6,000 connections to Apache:<br><br>

[root@host ~]# grep 64.91.229.106 /usr/local/apache/domlogs/mysite.org | wc -l 5924 [root@host ~]#<br><br>

These were all the same request:<br><br>

64.91.229.106 - - [12/Apr/2014:08:10:10 -0400] "GET /404.php HTTP/1.0" 200 14294 "-" "-"<br><br>

And that made up the total of requests:<br><br>

[root@host ~]# grep 64.91.229.106 /usr/local/apache/domlogs/mysite.org | grep "GET /404.php HTTP/1.0" | wc -l 5924 [root@host ~]#<br><br>

I'd suggest seeking out the assistance of a developer to see where the source of these requests lie, as they are what have been loading down your server today. Let us know if you have any questions.

Wow, I just solved two Apache problems by myself. :wink:

When my sites crashed, I was in a hurry to get custom 404 error pages on them, so I created ONE custom error page on my main site. I then used the PHP function get_file_contents to import its contents into files named 404.php on the satellite sites. It suddenly occurred to me that that might be the problem, so I deleted them, and everything’s OK now.

At the same time, I solved another problem that turned out to be surprisingly simple. My URL’s were correctly defaulting to lower case, and they were correctly defaulting to dashes in place of underscores. But URL’s that had capital letters and underscores both didn’t default.

I suddenly realized the solution was to simply replace the underscores FIRST; I put those rules above the lower case rule.


RewriteRule ^([^_\\ ]*)[_\\ ](.*?[_\\ ].*) $1-$2 [N]
RewriteRule ^([^_\\ ]*)[_\\ ]([^_\\ ]*) /$1-$2 [L,R=301]
RewriteRule ^(.*?[A-Z].*) /${tolower:$1} [R]