apache环境下ThinkPHP的URL重写时遇到No input file specified的处理方法

作者:Liaodeity - 2016年03月07日

    今天在Apache的环境下,开启URL重写,居然出现No input file specified.这样的提示,心想应该是伪静态的开启有问题,就测试了一下,证明伪静态是开启了的。之后看到有说要改一些根目录的.htaccess文件,改了真的可以。

因为在Fastcgi模式下,php不支持rewrite的目标网址的PATH_INFO的解析
ThinkPHP运行在URL_MODEL=2时,会出现 No input file specified.的情况,
这时可以修改网站目录的.htaccess文件:
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
改为

RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L]

完整如下

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


本文作者: Liaodeity

本文链接: https://www.jianbaizhan.com/article/361.html

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!


 请勿发布不友善或者负能量的内容。审查将对发布广告等违规信息进行处罚!