作者系统为Ubuntu、CentOS等linux发行版,请自行更改PHP框架。ThinkPHP5.0,官方文档写的有点模糊,自己加的。有错误欢迎随时指出,隐藏应用的入口文件index.php可以通过url改写。下面是相关服务器的配置参考:[Apache]1.启用重写模块2.sudoa2enmodrewrite或sudoln-s/etc/apache2/mods-available/rewrite.load/etc/apache2/mods-enabled/rewrite.load3.编辑配置文件/etc/apache2/apache2.conf,找到你的web根目录对应的位置OptionsIndexesFollowSymLinksAllowOverrideNoneRequireallgranted4。将AllowOverrideNone更改为AllowOverrideAll5。重新启动服务sudoserviceapache2restart6。将以下内容保存为.htaccess文件,放到应用入口文件(默认创建,如果不是自己创建)Options+FollowSymlinks-MultiviewsRewriteEngineonRewriteCond%{REQUEST_FILENAME}!-dRewriteCond%{REQUEST_FILENAME}!-fRewriteRule^(.*)$index.php?/$1[QSA,PT,L][Nginx]Nginx低版本不支持PATHINFO,但可以通过在Nginx中配置转发规则实现,编辑文件/etc/nginx/sites-available/default:server{//.....省略部分代码root/var/www/html;//找到这个模块,填写下面的配置}location/{//.....省略部分代码if(!-e$request_filename){rewrite^(.*)$/index.php?s=/$1last;休息;其实就是内部转发到ThinkPHP提供的CompatibleURL,使用这个方法,可以解决其他不支持PATHINFO的WEB服务器环境。如果你的应用安装在二级目录下,Nginx的伪静态设置方法如下,其中/tp5/public/为所在目录名。location/tp5/public/{if(!-e$request_filename){重写^/tp5/public/(.*)$/tp5/public/index.php?s=/$1last;}}原访问地址:http://serverName/index.php/module/controller/operation/[参数名/参数值...]设置后,我们可以通过以下方式访问:http://serverName/module/controller/operation/[参数名/参数值...]如果没有权限修改服务器,可以在index.php入口文件中修改。这不是正确的方法,也不一定能成功。这取决于服务器。它就在框架执行之前。完成$_SERVER['PATH_INFO']参数$_SERVER['PATH_INFO']=$_SERVER['REQUEST_URI'];最后重启服务器sudoservicenginxrestart