- 使用TP5开发时想要隐藏路由中index.php,环境是apache但是会报出No input file specified错误,第一反应是apache的路由转发规则出现了问题,但是奇怪的问题是php版本低于5.5就没有问题,折腾了一段时间,找到了解决办法
首先要开启Apache配置http.conf
中mod_rewrite.so模块
#LoadModule remoteip_module modules/mod_remoteip.so
#LoadModule request_module modules/mod_request.so
LoadModule reqtimeout_module modules/mod_reqtimeout.so
LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule sed_module modules/mod_sed.so
#LoadModule session_module modules/mod_session.so
修改虚拟主机配置
<VirtualHost *:80>
DocumentRoot "######"
ServerName http://###.###.###
ServerAlias
<Directory "#####">
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
找到本地.htaccess文件修改如下:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php? [L,E=PATH_INFO:$1]
</IfModule>
重启服务器,index.php就被隐藏了,如果还不能的话,需要多试试主要是本地转发规则的原因