今天在用tp5做项目的时候发现,前台是可以绑定默认到index模块的,但是后台不好弄,于是查了一下手册,按照手册上说的,复制了index.php改为admin.php,作为后台的入口文件,于是域名/admin.php就可以访问后台了(默认是admin模块的index控制器的index方法),虽然可以访问了,但是我是个完美主义者,或者说室友强迫症的人,我觉得admin.php的.php看上去很是刺眼,要是能去掉就更好了,于是我就想到了把nginx的配置改一下,抱着试一试的态度,结果还是挺满意的,去掉了尾巴看上去爽多了,下面贴上代码

入口文件admin.php

1 <?php
2 // +----------------------------------------------------------------------
3 // | ThinkPHP [ WE CAN DO IT JUST THINK ]
4 // +----------------------------------------------------------------------
5 // | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
6 // +----------------------------------------------------------------------
7 // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
8 // +----------------------------------------------------------------------
9 // | Author: liu21st <liu21st@gmail.com>
10 // +----------------------------------------------------------------------
11
12 // [ 应用入口文件 ]
13
14 // 定义应用目录
15 define('APP_PATH', __DIR__ . '/../application/');
16 // 绑定到admin模块
17 define('BIND_MODULE','admin');
18 // 加载框架引导文件
19 require __DIR__ . '/../thinkphp/start.php';
20
21 ?>

后台首页Index.php

1 <?php
2 /*
3 *功能:后台首页控制器
4 *作者:魏安来
5 *日期:2017/12/12
6 */
7
8 namespace app\admin\controller;
9
10 class Index extends Base{
11
12 /*后台首页*/
13 public function index(){
14 return 'admin';
15 //return $this->fetch();
16 }
17
18 }
19
20 ?>

nginx配置vhosts.conf

1 server {
2 listen 80;
3 server_name www.tpmall.com tpmall.com;
4 root "F:/phpStudy/WWW/tpmall/public";
5 location / {
6 index index.html index.htm index.php admin.php;
7 #autoindex on;
8
9 if (!-e $request_filename){
10 rewrite ^(.*)$ /index.php?s=/$1 last;
11 }
12 if (!-e $request_filename){
13 rewrite ^(.*)$ /admin.php?s=/$1 last;
14 }
15
16 }
17 location ~ \.php(.*)$ {
18 fastcgi_pass 127.0.0.1:9000;
19 fastcgi_index index.php;
20 fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
21 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
22 fastcgi_param PATH_INFO $fastcgi_path_info;
23 fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
24 include fastcgi_params;
25 }
26 }