PHP环境——No input file specified.(apache)_PHP

 


phpstudy是win系统下面一个php环境一体包,可以通过这个工具轻松实现搭建php等网站。作为动态网站,采用php等页面暴露到公网依然存在一定安全隐患,一般可通过伪静态来隐藏真实地址。

在apache扩展菜单里面,找到rewrite_module模块,把它启用。勾上

也可以直接打开apache配置文件里面,“/apache/conf/” 下的 httpd.conf 文件,通过查找“LoadModule rewrite_module”,把前面的”#”号删除

查找AllowOverride None,替换为 AllowOverride All (有多处设置,需要替换)然后保存即可。
apache No input filespecified,今天是我们配置apache RewriteRule时出现这种问题,解决办法很简单如下

apache No input filespecified,今天是我们配置apache RewriteRule时出现这种问题,解决办法很简单如下

打开.htaccess 在RewriteRule 后面的index.php教程后面添加一个“?”

完整代码如下

.htaccess

 
RewriteEngine on
 
RewriteCond $1 !^(index.php|images|robots.txt)
 
RewriteRule ^(.*)$ /index.php?/$1 [L]

如果是apache服务器出问题,看看是不是的Apache 把 .php 后缀的文件解析哪里有问题了。

总结

Apache 将哪些后缀作为 PHP 解析。例如,让 Apache 把 .php 后缀的文件解析为PHP。可以将任何后缀的文件解析为 PHP,只要在以下语句中加入并用空格分开。这里以添加一个 .phtml 来示例。

AddType application/x-httpd-php .php .phtml

为了将 .phps教程作为 PHP 的源文件进行语法高亮显示,还可以加上:

AddType application/x-httpd-php-source .phps

用通常的过程启动 Apache(必须完全停止 Apache 再重新启动,而不是用 HUP 或者USR1 信号使 Apache 重新加载)。

APACHE服务器出现No input file specified.解决方案 thinkcmf程序默认的.htaccess里面的规则:

 <IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

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

修改伪静态规则,如下:

 <IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>

就是正则结果“/$1”前面多加了一个“?”号。。