网站显示“ No input file specified”解决方法

No input file specified

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

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

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

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

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

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

修改伪静态规则,如下:
[cc lang=”php”]
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php?/$1 [L]
[/cc]

有没有发现不同?

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

 

阿里云服务器安装LNMP(Nginx)后打开网站显示“ No input file specified”解决方法

阿里云服务器安装LNMP后,打开网站显示“ No input file specified”,以下方法经过验证无效:

[cc lang=”php”]
在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;
[/cc]

以下是解决方法:

[cc lang=”php”]
源码目录下有个.user.ini文件,打开是
open_basedir=/home/wwwroot/ABC:/tmp/:/proc/
改成
open_basedir=/home/wwwroot/default/ABC:/tmp/:/proc/
[/cc]

原创文章,作者:老D,如若转载,请注明出处:https://laod.cn/2806.html

(3)
上一篇 2016-12-19
下一篇 2016-12-20

相关推荐

发表回复

登录后才能评论

评论列表(4条)

  • qyxx
    qyxx 2017-01-26 14:43

    LNMP官网也说了user.ini防跨站设置的…只要当和初vhost设置的目录一致就没问题,否则自己设置路径,还要chattr加i属性

  • Ganlv
    Ganlv 2016-12-29 20:02

    http {
    fastcgi_intercept_errors on; #这个强制404显示404 Not Found / nginx
    }

  • 十七
    十七 2016-12-20 04:36

    还是起床了还是没睡呢