
因为thinkphp5.0 默认入口是在public目录下,然而虚拟主机并不支持域名绑定到二级栏目上,所以把thinkphp 5.0程序,放到虚拟主机上,需要修改如下几个步骤
1、修改移动入口文件位置,把它移动到根目录下(即htdocs)。
修改index.php入口文件内容
// 定义应用目录
define('APP_PATH', __DIR__ . '/application/');
// 加载框架引导文件
require __DIR__ . '/thinkphp/start.php';
这下可以访问了,但点下内页看看,路径重写不生效了。因为缺少了.htaccess文件。
2、把.htaccess文件也移动到根目录下。至此可能你已经解决了问题。没解决的接下来继续看。
3、安全性!因为你将入口文件移到了跟目录,框架下的所有目录已经暴露了。如果apache服务器没处理。那就可以直接访问重要文件。不管他有没有做处理,直接跟目录下的每个目录都来个.htaccess。然后写入deny from all。
4、解决:css、js、图片等静态资源404了。因为移出了public目录,所以文件找不到了。需要替换全部目录路径。
如果你是使用PUBLIC,STATIC,CSS,JS等来写
那么恭喜你,直接在配置改view_replace_str就行了
'view_replace_str' => [
'__PUBLIC__' => '/public',
'__STATIC__' => '/public/static',
'__CSS__' => '/public/static',
'__JS__' => '/public/static',
],
如果不是,那就全部视图文件,所有用到用到路径的地方全盘替换目录即可
/public/static
特别容易忽略的地方是css里面的background路径,和自定义上传路径,请注意。
文章摘自:https://segmentfault.com/a/1190000012488819
文章来源: 阿里云虚拟主机配置thinkphp5.0 程序 注意事项人吐槽 | 人点赞 |
发表评论