更改项目入口文件位置

TP-Admin 2.X版本出于项目安全性和简洁性考虑,将项目代码和项目入口进行分离。项目入口文件,静态资源,缓存文件,以及图片目录都归档在Public目录下。项目代码存放于和Public目录平级目录下。通过http请求将无法直接访问到项目的任何文件。目录结构如下图所示:

QQ截图20151111160551

目录结构

下面给出一种解决方案,将入口文件提到项目根目录下。

  1. 首先将Public目录下的所有文件以及文件夹他到于Public目录同级目录下。
  2. 修改index.php 文件,内容如下
<?php
// +----------------------------------------------------------------------
// | TP-Admin [ 多功能后台管理系统 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013-2015 http://www.hhailuo.com All rights reserved.
// +----------------------------------------------------------------------
// | Author: XiaoYao <476552238li@gmail.com>
// +----------------------------------------------------------------------
// 应用入口文件

// 检测PHP环境
if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !');

// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define('APP_DEBUG',true);
define('BUILD_DIR_SECURE', false);
// 定义应用目录
define('APP_PATH', __DIR__ . DIRECTORY_SEPARATOR . 'App' . DIRECTORY_SEPARATOR);
define('RUNTIME_PATH', __DIR__ . DIRECTORY_SEPARATOR . 'Runtime' . DIRECTORY_SEPARATOR);

// 获取并定义路径常量信息
$protocol = empty($_SERVER['HTTPS']) ? 'http' : 'https';
$port = $_SERVER['SERVER_PORT'];
$disp_port = ($protocol == 'http' && $port == 80 || $protocol == 'https' && $port == 443) ? '' : ":$port";
$domain = $_SERVER['SERVER_NAME'];

// 网站相对路径
$script_name_info = pathinfo($_SERVER['SCRIPT_NAME']);
$base_url = ($script_name_info['dirname'] == DIRECTORY_SEPARATOR ? '' : $script_name_info['dirname']);

// Apache Or Nginx 配置根目录
$script_filename_info = pathinfo($_SERVER['SCRIPT_FILENAME']);
$doc_root = str_replace($base_url, '', $script_filename_info['dirname']);

// 网站完整首页URL
$full_url = "{$protocol}://{$domain}{$disp_port}{$base_url}";
define("ROOT_PATH", __DIR__ . DIRECTORY_SEPARATOR);
define("DOC_PATH", $doc_root . DIRECTORY_SEPARATOR);
define("BASE_URL", $base_url . '/');
define("UPLOAD_URL", $full_url . '/Uploads/');
define("UPLOAD_PATH", ROOT_PATH . 'Uploads' . DIRECTORY_SEPARATOR);
// 引入框架入口文件
require './ThinkPHP/ThinkPHP.php';

 

QQ截图20151111161605

修改后的目录结构

 

好了,再试试吧!