如果使用nginx服务器,默认情况下访问非php程序文件(比如html、jpg文件等),均会显示:404 Not Found。而访问不存在的PHP页面则会显示:No input file specified。解决前面一个问题比较简单,只要在对应网站的配置文件中加入语句指定404错误显示的页面,比如:error_page 404 https://mydiannao.com/404.html;。当然也可以指定别的页面,而因为PHP页面比较特殊,无论它是否存在,nginx都会先交给fastcgi处理,而fastcgi处理完成后直接显示No input file specified,没有将错误结果交回给nginx。那么解决这个问题就简单了,只需要让fastcgi将不存在的PHP程序文件交回给nginx即可。
找到nginx.conf文件,将语句fastcgi_intercept_errors on;加入到合适位置,reload一下nginx即可生效。
亲测可用!