默认的php
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
规则在apache fastcgi模式下会致使No input file specified.html
修改为thinkphp
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
就OK,地址正常重写。apache
咱们都知道,使用伪静态相对来讲,对搜索引擎比较友好,启用REWRITE的伪静态功能的时候,首页能够访问,而访问内页的时候,就提示:“No input file specified.”。thinkphp5
Wordpress及Typecho等程序默认的.htaccess里面的规则为例:搜索引擎
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
修改一下伪静态规则,以下:url
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]
在正则结果“$1”前面多加了一个“?”号,问题也就随之解决了。code
参考连接:htm
【TP5配置隐藏入口index.php文件】https://www.jianshu.com/p/380625ecd01a索引
【thinkphp5.1 tp5.1 安装 初始化 配置 重写 url 路由 Rewrite】http://www.mamicode.com/info-detail-2183164.html