gogogo
管理员
管理员
  • UID25
  • 粉丝0
  • 关注0
  • 发帖数1377
阅读:6626回复:2

腾讯云 或 百度云服务器 网站显示“ No input file specified”解决方法

楼主#
更多 发布于:2019-12-13 23:38

Apache服务器 网站访问伪静态内页出现No input file specified.的完美解决方案

启用REWRITE的伪静态功能的时候,首页可以访问,而访问内页的时候,就提示:“No input file specified.”

原因在于使用的PHP是fast_cgi模式,而在某些情况下,不能正确识别path_info所造成的错误,Wordpress的伪静态也有一样的问题。
WordPress程序默认的.htaccess里面的规则:

 
HTML " data-pbcklang="html" data-pbcktabsize="4"> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php/$1 [L]

“No input file specified.”,是没有得到有效的文件路径造成的。
修改伪静态规则,如下:

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

有没有发现不同?
其实就是在正则结果“/$1”前面多加了一个“?”号,问题也就随之解决了。
 
阿里云 或 腾讯云 服务器安装LNMP(Nginx)后打开网站显示“ No input file specified”解决方法


阿里云服务器安装LNMP后,打开网站显示“ No input file specified”,网上搜到的基本都是以下方法,经过验证并无效果:

说是在 /www/server/php/56/etc 里的   php.ini文件里面修改:

1、增加一行(这个最重要)

           fastcgi.impersonate = 1

2、修改两项(解开注释就可以了)

             cgi.fix_pathinfo=1
            cgi.force_redirect = 0

                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# 修改为
             fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name;


以下是正确  解决方法:

源码目录下有个.user.ini文件,打开是

    open_basedir=/home/wwwroot/ABC:/tmp/:/proc/

改成

    open_basedir=/home/wwwroot/default/ABC:/tmp/:/proc/  【ABC修改成你正确的子目录名称】


注意,如果你修改了 网站根目录的名字,例如你把
 ABC: 为  DEF:
open_basedir=/home/wwwroot/ABC:/tmp/:/proc/
就应该改为:改成
open_basedir=/home/wwwroot/DEF:/tmp/:/proc/
gogogo
管理员
管理员
  • UID25
  • 粉丝0
  • 关注0
  • 发帖数1377
沙发#
发布于:2019-12-13 23:39
gogogo
管理员
管理员
  • UID25
  • 粉丝0
  • 关注0
  • 发帖数1377
板凳#
发布于:2019-12-13 23:52
例如
 open_basedir=/home/wwwroot/qianchong:/tmp/:/proc/
改为
open_basedir=/home/wwwroot/qcyx:/tmp/:/proc/
游客


返回顶部