原文地址:Apache服务器网站访问伪静态内页出现No input file specified.的完美解决方案
启用REWRITE的伪静态功能的时候,首页可以访问,而访问内页的时候,就提示:“No input file specified.”
原因在于使用的PHP是fast_cgi模式,而在某些情况下,不能正确识别path_info所造成的错误,Wordpress的伪静态也有一样的问题。
Wordpress程序默认的.htaccess里面的规则:
1
|
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.”,是没有得到有效的文件路径造成的。
修改伪静态规则,如下:
1
|
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”,以下方法经过验证无效:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 |
在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; |
以下是解决方法:
1
2 3 4 |
源码目录下有个.user.ini文件,打开是
open_basedir=/home/wwwroot/ABC:/tmp/:/proc/ 改成 open_basedir=/home/wwwroot/default/ABC:/tmp/:/proc/ |
推荐阅读:经典FQ教程:*+linode+kcptun搭建*,秒开youtube1080P