在共享托管环境中部署
将高级项目模板部署到共享托管比基本托管更复杂,因为它有两个 webroots,共享托管 Web 服务器不支持。我们需要调整目录结构,以便前端 URL 为 http://site.local ,后端 URL 为 http://site.local/admin 。
将条目脚本移动到单个 webroot 中
首先,我们需要一个 webroot 目录。创建一个新目录并将其命名为与你的托管 webroot 名称匹配,例如 www 或 public_html 等。然后创建以下结构,其中 www 是你刚刚创建的托管 webroot 目录:
www
admin
backend
common
console
environments
frontend
...
www 将是我们的前端目录,因此将前端/ web 的内容移动到其中。将后端/ web 的内容移动到 www / admin 。在每种情况下,你都需要调整 index.php 和 index-test.php 中的路径。
调整会话和 cookie
最初的后端和前端旨在运行在不同的域。当我们将它们全部移动到同一个域时,前端和后端将共享相同的 cookie,从而产生冲突。为了解决这个问题,请按如下方式调整后端应用程序配置 backend / config / main.php :
'components' => [
'request' => [
'csrfParam' => '_csrf-backend',
'csrfCookie' => [
'httpOnly' => true,
'path' => '/admin',
],
],
'user' => [
'identityClass' => 'common\models\User',
'enableAutoLogin' => true,
'identityCookie' => [
'name' => '_identity-backend',
'path' => '/admin',
'httpOnly' => true,
],
],
'session' => [
// this is the name of the session cookie used for login on the backend
'name' => 'advanced-backend',
'cookieParams' => [
'path' => '/admin',
],
],
],
希望这有助于共享托管用户部署高级应用程序。
学分: https : //github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/topic-shared-hosting.md