No input file specified error solved on GoDaddy (I think)! But...

It has been an absolute bear to try and resolved an issue that I was having on a Concrete5 site I recently built for a client of mine.

Specifically when turning on pretty URL's and changing my .htaccess file to rewrite URL's in pretty form only the home page ended up accessible. All other pages were generating a not found 404 error page under IE and a simple message of "No input file specified" as the only thing appearing under Google Chrome.

I changed the domain to Hostgator...the site worked fine.

I changed it back to GoDaddy under a different domain. The site worked fine.

I changed it back to being under GoDaddy under the correct domain and BAM! Same problem again.

Which lead me to believe it had to do with server settings of some sort.

After much digging around and testing and Googling it appears that there is a conflict between FastCGI and mod_rewrite as it rewrites URL's to enable the use of pretty URL's.

I disabled FastCGI under this hosting account and now the site works.

Assuming for a minute that the above conflict between FastCGI and mod_rewrite is indeed the root of the problem I am now having to explain to the client why there is a problem with C5 URL rewriting for pretty URL's and not for WordPress.

Which...I don't really have an answer for.

I mean WordPress also uses mod_rewrite and does not have this problem.

So...what is the problem with a Concrete5 installation that uniquely causes this problem under a C5 powered web site (relative to using WordPress for example)?

This problem is not one that happens just at GoDaddy I have since found out. It has also happened at Dreamhost. And it does not happen under all servers that may handle a give domain at a host. It all seems to depend on whether FastCGI is being used on a given server and perhaps even what version of FastCGI is in use.

I am still digging my way out of this problem and expect to have the site fully back up shortly but I need to explain to the client why C5 has this problem and WordPress doesn't.

If a client were to ask you that what would you say?

Perhaps it's best that I go back to using WordPress for the sake of my clients. I don't know.

This problem has only affected one client on GoDaddy but I am hesitant to want to use C5 on other sites if these kinds of problems keep popping up and would like to resolve this if at all possible as in not having this problem resurface at other hosts on other servers (just as it doesn't for WordPress).

I am sticking with C5 for now but I do need to be able to explain why a C5 powered site might have this problem and why a WordPress site which also uses mod_rewrite (with FastCGI or not) does not.


View Replies:
jordanlev replied on at Permalink Reply
I think it has to do with the way C5 handles non-pretty urls. If I recall correctly, wordpress takes the individual components of a pretty url and converts them to GET arguments under the hood. Whereas C5 takes the pretty url and just appends it after "index.php/", so if you request "", under the hood it converts this to "" (as opposed to wordpress which would convert "" to "", or maybe even look up the title in the database and interpret the url as "" or something like that).

So the problem isn't with Concrete5 specifically but the fact that some server configurations are not able to properly handle taking portions of the URL that is NOT part of the querystring (that is, things that don't follow a question mark in the URL) and parsing those out as separate arguments. Or something like that.

All that being said, it is almost always possible to make this work, just requires some fiddling around (not suggesting this isn't a pain or a problem, just saying that it is ultimately solvable). Here are some forum posts on the subject that have helped me solve this in the past:

Hope that helps.
carlos123 replied on at Permalink Reply
Hi JordanLev,

Thanks very much for your input.

I would have responded with a long one of my own but...well...this forum software is at it again!

Something in my post was considered inappropriate content (no I wasn't cussing or anything). After trying to remove all, well I can't mention the file ending I guess, and the name of a program that is apparently unmentionable here, and after removing this or that person's name from my post...

Let's just say I gave up!

I'll leave it at...thanks for your input Jordan! Much appreciated.