Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

.htaccess issues: No input file specified

Can someone help me with this? I'm feeling like I've been hitting my head against a wall for over 2 hrs now.

I've got Apache 2.2.8 + PHP 5.2.6 installed on my machine and the .htaccess with the code below works fine, no errors.

RewriteEngine on RewriteCond $1 !^(index\.php|css|gfx|js|swf|robots\.txt|favicon\.ico) RewriteRule ^(.*)$ /index.php/$1 [L] 

The same code on my hosting provider server gives me a 404 error code and outputs only: No input file specified. index.php is there. I know they have Apache installed (cannot find version info anywhere) and they're running PHP v5.2.8.

I'm on Windows XP 64-bit, they're running some Linux with PHP in CGI/FastCGI mode. Can anyone suggest what could be the problem?

PS. if that's important that's for CodeIgniter to work with friendly URLs.


Update1:

mod_rewrite is installed and on.

What I've noticed is that if I change in RewriteRule to /index.php?$1 (question mark instead of forward slash) it goes into an infinite loop. Anyway, using question mark isn't an option as CodeIgniter (required) is not going to work this way.

Homepage also works when I request index.php directly: example.com/index.php

I'm starting to think it might be apache thinking that once the trailing slash is added it is not a file anymore but a folder. how to change such a behaviour?


Update 2:

I was wrong.
Apache handles these URLs correctly.
Requesting http://example.com/index.php/start/ (homepage) or any other valid address works.
Seems that Apache is just not forwarding the query for some reason.


Update 3:

Just to be clear what I'm trying to achieve.
I want to rewrite addresses like that:

http://www.example.com/something/ => http://www.example.com/index.php/something/ http://www.example.com/something/else/ => http://www.example.com/index.php/something/else/

like image 483
Michal M Avatar asked Oct 12 '09 22:10

Michal M


People also ask

Why does it say no input file specified?

This error is usually produced by incorrect directives in either the php. ini or the . user. ini files for your website.

How do I fix no input file specified in Wordpress?

Mostly, the No input file specified error shows up while loading the website after a migration. This problem can be easily resolved by tweaking the PHP version, correcting . htaccess file, disabling faulty plugins and so on.


2 Answers

I was beating my head up against this as well. I'm also installing Code Igniter.

The goocher was no RewriteBase. Here's my .htaccess:

DirectoryIndex index.php  RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond $1 !^(index\.php|robots\.txt)  RewriteRule ^(.*)$ index.php?/$1 [L] 
like image 193
jray Avatar answered Sep 22 '22 12:09

jray


The Problem

I encountered a similar problem just now and unfortunately none of the answers in this thread helped:

Zend Framework was giving out "No input file specified.", but:

  • The default RewriteBase was just fine, and adding RewriteBase / did not help
  • It's a shared hosting server and only FastCGI is available (no ability to switch to SuPHP)
  • AcceptPathInfo was on
  • There was no problem with URL rewriting in general on the server

So the answer came from the following site: https://ellislab.com/forums/viewthread/55620/P15 [dead link] (even though the host is not DreamHost).

The Solution

Apparently all you need to do is replace this line:

RewriteRule ^(.*)$ index.php/$1 

With this:

RewriteRule ^(.*)$ index.php?/$1 

Problem solved.

like image 44
Ynhockey Avatar answered Sep 22 '22 12:09

Ynhockey