APACHE服务器出现No input file specified.的完美解决方案

时间:2023-01-23 19:50:17

在apache服务器上安装好程序后,访问网站却提示:“No input file specified.”的错误,这类问题常常是因为服务器开启了REWRITE的伪静态功能,首页可以访问,而访问内页的时候,就提示:“No input file specified.”.

原因在于使用的PHP是fast_cgi模式,而在某些情况下,不能正确识别path_info所造成的错误,Wordpress的伪静态也有一样的问题。

Wordpress程序默认的.htaccess里面的规则:

  1. RewriteEngine On 
  2. RewriteBase / 
  3. RewriteCond %{REQUEST_FILENAME} !-f 
  4. RewriteCond %{REQUEST_FILENAME} !-d 
  5. RewriteRule ^(.*)$ /index.php/$1 [L] 

“No input file specified.”,是没有得到有效的文件路径造成的。

修改伪静态规则,如下:

  1. RewriteEngine On 
  2. RewriteBase / 
  3. RewriteCond %{REQUEST_FILENAME} !-f 
  4. RewriteCond %{REQUEST_FILENAME} !-d 
  5. RewriteRule ^(.*)$ /index.php?/$1 [L] 

有没有发现不同?

其实就是在正则结果“/$1”前面多加了一个“?”号,问题也就随之解决了。