阿里云腾讯云西部数据等虚拟主机空间配置thinkphp5.0程序教程
因为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__,STATIC,CSS,__JS__等来写
那么恭喜你,直接在配置改view_replace_str就行了 - 'view_replace_str' => [
- '__PUBLIC__' => '/public',
- '__STATIC__' => '/public/static',
- '__CSS__' => '/public/static',
- '__JS__' => '/public/static',
- ],
复制代码如果不是,那就全部视图文件,所有用到用到路径的地方全盘替换目录即可 特别容易忽略的地方是css里面的background路径,和自定义上传路径,请注意。
|