thinkphp5 隐藏前台入口文件index.php 后台入口文件admin.php不隐藏

时间:2022-09-24 16:42:29

情景:应用目录下有两个模块 admin(后台) 和 home(前台)

需求:1.访问前台(home)时隐藏index.php  即 域名/home/前台控制器/前台控制器里的方法 这样的访问模式

   2.访问后台(admin)时要显示admin.php 即 域名/admin.php/admin/后台控制器/后台控制器里的方法 这样的访问模式

实现原理:nginx重写(我这里只拿nginx作为演示,iis和apache下请自行测试)

   方案1:    

location / {
     index  index.html index.htm index.php;
     #autoindex  on;
     if (!-e $request_filename){
          rewrite ^(.*)$ /index.php?s=$1 last;
     }             
            
 }    
        
location /admin.php {

 }

  方案2:

if (!-e $request_filename){
         rewrite /admin.php/(.*)$ /admin.php?s=$1 last;
         rewrite ^(.*)$ /index.php?s=$1 last;
}