So, I'm off to find a new hosting service. Requirements are as follows:
1. Supports PHP4 or 5
2. MySQL Database(s)
3. HTTP 1.1 freaking compliant
4. Relatively cheap
5. FTP access
6. Reliable, not necessarily Digg-proof, but should be up more than half the time.
7. HTTP 1.1 compliance
8. POP3/SMTP accounts
9. Runs Apache (preferably on Linux), supports mod_rewrite and .htaccess
11. Have I mentioned HTTP 1.1?!
Would be nice:
1. Shell access
I don't necessarily need fancy-schmancy CPanel BS or stupid Server Admins second guessing me
Anyone have any suggestions?
To clarify my current gripe against Freehostia and their mangling of the HTTP 1.1 standard:
Their server, Apache running on Linux (which is great, BTW), is badly, badly configured, in my unprofessional and biased opinion. As evidence for this accusation I point to their handling of documents that don't exist (e.g. www.foo.com/thisPageDon'tExist!)
According to the HTTP standard, the server should respond with a 404 status code (not found). Most server packages also include the option of thereafter redirecting to a customized error page. Apache accomplishes this by using a configuration file called .htaccess which is in either in the directory which the file not being found was supposed to reside in, or the nearest parent directory thereof.
Freehostia, however, does not honor the .htaccess file nor does it respond to erroneous requests with a 404 response code. Instead, the server responds with a 302 response code (which means "moved temporarily" and is used for temporary redirects) redirecting the browser to either a custom error page defined in the user control panel or to a blank page on their own domain.
This screws up any application other than a browser which may be used to access resources on a site hosted by Freehostia.
I've tried contacting their customer support in this matter. Their customer support has always been more than satisfactory to me. They respond quickly and often are able to fix whatever the problem is immediately. To be frank, this was the only thing really that has kept me from switching hosts before now (that and my laziness.)
But they have faltered. Read now my exchange with their customer support:
Subject HTTP 302 instead of 404
Type of Problem: Other Problem
I asked this in the forum and didn't get anywhere: http://forum.freehostia.com/viewtopic.php?...&highlight=
The server is sending back "302 found" HTTP responses for non-existent files. It should be sending 404 responses.
2009-10-14 00:19:28 by Technical Support to *******
Finding a solution of your problem requires a consultation with our administrators. I have forwarded the issue to them and I will send you our answer as soon as I receive their instructions.
If you have any additional questions, do not hesitate to ask. Meanwhile just wait for my next response.
2009-10-14 01:12:02 by ******* to Technical Support
2009-10-14 01:21:17 by Technical Support to *******
Thank you for understanding this mater.
009-10-14 04:41:06 by Technical Support to *******
Our system administrators have investigate this issue for you. Unfortunately .htaccess file could not be used to set custom error page 404 Not Found. In order to be able to set such custom error page for your site you will need to use the option provided via the Subdomain Manager menu.
It also normal initially a 302 Found to be detected as the system founds your site content files and after that if a non existing file is required via the browser then a 404 Not Found is detected.
This is the way our system is configured to operate and it could not be changed. The custom error page that you have set for your domain name is fully operational and if a non existing URL is loaded the error message is displayed.
If in the future you have any other questions, do not hesitate to contact us again.
2009-10-14 06:00:21 by ******* to Technical Support
I'm afraid I don't understand your reply. As I understand the HTTP protocol, a 302 response should never be returned if the document requested does not exist.
Whether or not a custom 404 page is returned is of secondary importance to me. I require an HTTP 1.1 compliant host.
2009-10-14 06:10:56 by Technical Support to *******
As far as I can see the 404 error page is working properly in your hosting account for the present time. Please clear your browser cache and cookies and follow the links below:
http://www.*******.org/errors/404.php - your 404 error page
http://www.*******.org/errors/test.php - the wrong link which will be redirected to your 404 error page.
If you have any additional questions, please let us know.
2009-10-14 06:18:00 by ******* to Technical Support
As I said. The error page itself is inconsequential. I need to HTTP response to be 404, not 302.
2009-10-14 06:31:31 by Technical Support to *******
Could you please provide me with an exact link to the place where you experience this 302 page. Then we will be able to assist you further.
2009-10-14 06:48:41 by ******* to Technical Support
The 302 response is being generated for any invalid URL, e.g. http://www.*******.org/foobar123456.html.
See the last reply to http://forum.freehostia.com/viewtopic.php?...&highlight= for a detailed packet analysis.
2009-10-14 06:58:52 by Technical Support to *******
I have sent you an e-mail to "******0@******.com" with a subject 404 error page. In my e-mail you are able to see a attached screen shot of the page which I see when I try to access any invalid URL
2009-10-14 07:10:30 by ******* to Technical Support
Yes, I see that. But, as I have said several times, the custom error page is not the issue here. The issue is the HTTP headers which are being sent by your server. While the 404.php page is showing up as expected, it is doing so after the server returns a 302 Header. This makes it difficult to impossible to properly determine whether a URL is valid without actually going to the URL in a browser.
To be clear: I am not concerned at all about whether the 404.php page is displayed. I am concerned about the HTTP headers which your server is sending back. Your server is sending the WRONG response code in the HTTP header.
2009-10-14 07:22:16 by Technical Support to *******
We have checked this issue again form you and our server does not returns a 302 header when you try to access invalid URL:
Connecting to *******.org[66.*.*.*]:80... connected.
HTTP request sent, awaiting response...
1 HTTP/1.1 404 Not Found
2 Date: Wed, 14 Oct 2009 07:19:50 GMT
3 Server: Apache/1.3.33 (Unix) mod_ssl/2.8.22 OpenSSL/0.9.7d SE/0.5.3
4 X-Powered-By: PHP/5.2.6
5 Content-Length: 0
6 Keep-Alive: timeout=3, max=32
7 Connection: Keep-Alive
8 Content-Type: text/html
08:18:15 ERROR 404: Not Found.
The 404 response was generated by some PHP code in the 404.php file (which I have now removed) that was suggested in your forum.
Please see ththis CSV file showing a capture I just did. http://www.*******.org/errors/boredomsoft-capture.csv Refer to line 8 showing a 302 response followed by a GET /errors/404.php request followed then by a 404 (which was generated pro grammatically as I mentioned.)
The full PCap capture file is here if you have software that can read it (like Wireshark): http://www.*******.org/errors/boredomsoft-capture.pcap
(I tried to attach the files to this message but it wouldn't let me)
Edited by Amazing Andrew, 14 October 2009 - 03:20 AM.