APACHE支持.htaccess伪静重写出错 No input file specified的解决方案
作者:mdxy-dxy 时间:2023-07-08 00:38:43
在你的Apache安装文件夹conf里找到httpd.conf文件
搜索LoadModule rewrite_module modules/mod_rewrite.so 如果前面有注释符号#,请去掉。
搜索Options FollowSymLinks,然后将它下面的AllowOverride None 修改为AllowOverride All;
【1】
没想到遇见了 No input file specified 因为项目用了URL route ,估摸着可能是rewrite的问题。
记录一下解决方案。
1.检查doc_root 是否设置此值
2.检查.hta文件 , 很多框架都是index.php当入口文件。
默认的
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
规则在apache fastcgi模式下会导致No input file specified.
修改成
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
就OK,地址正常重写。
【2】
我们都知道,使用伪静态相对来说,对搜索引擎比较友好,而我在Dreamhost的空间上启用REWRITE的伪静态功能的时候,首页可以访问,而访问内页的时候,就提示:“No input file specified.”。
百度搜索了一下,发现还有其它空间商也有此问题,原因在于空间所使用的PHP是fast_cgi模式,而在某些情况下, 不能正确识别path_info所造成的错误,就是Wordpress也有一样的问题,还好找到了解决方案!
我们首先来看一下Wordpress及Typecho等程序默认的.htaccess里面的规则:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
而提示是说:“No input file specified.”,也就是说没有得到有效的文件路径。在Google中找到了解决方案,就是修改一下伪静态规则,如下:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]
在正则结果“$1”前面多加了一个“?”号,问题也就随之解决了。
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
网赚要想成功请看这四点
Docker安装官方Redis镜像并启用密码认证
微软Sidekick手机服务故障 用户数据全部丢失
![](https://img.aspxhome.com/file/UploadPic/200910/2009101216956890.jpg)
Hishop参与长沙市电子商务协会筹建
Linux下Web网站压力测试工具Webbench使用教程
新云CMS隔行换色的方法
春节到小心黑“盗”,管理好你的服务器
PHPNow服务器套件安装
![](https://img.aspxhome.com/file/UploadPic/200812/20081223182737634.png)
Ajax Loading进度条gif在线生成网站
![](https://img.aspxhome.com/file/UploadPic/20093/10/preloader-loading-28s.gif)
CentOS7.6系统下使用yum配置lnmp环境的方法
以有限的IP 赚最多的钱
美国老鹰主机HawkHost购买图文教程
![](https://img.aspxhome.com/file/UploadPic/20103/19/20103199202533s.gif)
linux增加iptables防火墙规则的示例
Web服务器启用并运行FTP服务
增加博客可用性的十个技巧
Vmware + Ubuntu18.04 安装 Hbase 2.3.5的详细教程
![](https://img.aspxhome.com/file/2023/0/85250_0s.jpg)