英特网校

ThinkPhp5.0虚拟主机配置入口文件,隐藏public和index.php

ThinkPHP5.0支持各种各样的线上生产环境,如果你的生产环境与开发环境不符,需要稍作调整 ThinkPHP 的配置,以适应线上生产环境。在服务其中配置同电脑中使用相同,但是在虚拟主机时需要重新对tp进行配置。

本教程适合阿里云虚拟主机服务器操作系统【CentOS 5.4 64位】,用百度虚拟主机测试可以隐藏public,但是不能隐藏index.php【提示Nginx问题】,其他虚拟主机未测试!可能阿里云服务器是Apache类型,本地测试Apache服务,也可以支持隐藏publicindex.php【总结:可能教程只适合Apache服务器】

一、首先调整入口文件位置【隐藏public

thinkphp5.0默认的应用入口文件位于public/index.php

访问网站首页需要添加publicwww.intewl.com/public/index.php/index/index

需要将index.php移动到网站根目录,并修改index.php的内容

默认内容如下:

// 定义应用目录

define('APP_PATH', __DIR__ . '/../application/');

// 加载框架引导文件

require __DIR__ . '/../thinkphp/start.php';

修改为

// 定义应用目录

define('APP_PATH', __DIR__ . '/application/');

// 加载框架引导文件

require __DIR__ . '/thinkphp/start.php';

修改好后可以直接用:www.intewl/index.php/index/index访问网站首页

【百度】

2、隐藏index.php

实际开发中需要同时隐藏index.php;

利用www.intewl.com/index/indexwww.intewl.com就可以访问网站首页,这时就必须将index.php隐藏,隐藏方法调整.htaccess文件位置,并修改内容。

前面移动了index.php到根目录,也需要将.htaccess移动到根目录。


RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php $1 [QSA,PT,L]

将最后一句修改为

RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L]

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

修改成功后重启服务器,就可以隐藏index.php

 

 


评论中心

登录后可评论,请 登录 注册