阿里云虚拟主机配置thinkphp5.0 程序 注意事项

2020/12/03 08:04
阅读数 687

因为thinkphp5.0 默认入口是在public目录下,然而虚拟主机并不支持域名绑定到二级栏目上,所以把thinkphp 5.0程序,放到虚拟主机上,需要修改如下几个步骤

1、修改移动入口文件位置,把它移动到根目录下(即htdocs)。
修改index.php入口文件内容

// 定义应用目录
define('APP_PATH', __DIR__ . '/application/');
// 加载框架引导文件
require __DIR__ . '/thinkphp/start.php';

这下可以访问了,但点下内页看看,路径重写不生效了。因为缺少了.htaccess文件。
2、把.htaccess文件也移动到根目录下,.htaccess 文件内容如下;至此可能你已经解决了问题。没解决的接下来继续看。

<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

3、安全性!因为你将入口文件移到了跟目录,框架下的所有目录已经暴露了。如果apache服务器没处理。那就可以直接访问重要文件。不管他有没有做处理,直接跟目录下的每个目录都来个.htaccess。然后写入deny from all。

4、解决:css、js、图片等静态资源404了。因为移出了public目录,所以文件找不到了。需要替换全部目录路径。
如果你是使用__PUBLIC__,STATICCSS,__JS__等来写
那么恭喜你,直接在配置改view_replace_str就行了

'view_replace_str'  => [
 '__PUBLIC__' => '/public',
 '__STATIC__' => '/public/static',
 '__CSS__' => '/public/static',
 '__JS__'  => '/public/static',
],

如果不是,那就全部视图文件,所有用到用到路径的地方全盘替换目录即可

/public/static

特别容易忽略的地方是css里面的background路径,和自定义上传路径,请注意。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部