zoukankan      html  css  js  c++  java
  • yii2部署:共享托管环境

    yii2高级模板是前后台分离的,在本地测试的时候通常是绑定两个域名到前后台目录下,从而通过不同的域名访问前后,如:www.frontend.com访问前台,www.backend.com访问后台。

    但是有时候我们的线上环境不支持绑定二级域名,这样我们就得通过同一个域名访问我们的前后台了。Yii2通过如下方式实现:

    1、在服务器上的web根目录下创建一个admin目录,用于存放后台相关文件

    2、将后台backend目录下web目录里的文件放入到admin目录下

    3、将前台frontend目录下的web目录里的文件放入到服务器上的web根目录下

    变更后目录结构如下:

    对于每种情况下,你需要调整`index.php 和 index-test.php` 里面引用的目录结构。

    分离 Session 和 Cookie

    通常情况下,backend 和 frontend 运行在不同的域下,当我们将其都移到同一个域时, frontend 和 backend 将会共享相同的 cookie,这样会造成冲突。为了修复这个问题,如下调整 backend 的应用程序配置文件 backend/config/main.php

    'components' => [
        'request' => [
            'csrfParam' => '_backendCSRF',
            'csrfCookie' => [
                'httpOnly' => true,
                'path' => '/admin',
            ],
        ],
        'user' => [
            'identityCookie' => [
                'name' => '_backendIdentity',
                'path' => '/admin',
                'httpOnly' => true,
            ],
        ],
        'session' => [
            'name' => 'BACKENDSESSID',
            'cookieParams' => [
                'path' => '/admin',
            ],
        ],
    ],
    

    到这里你就可以通过你的域名访问前后台了,如通过www.example.com访问前台,www.example.com/admin 访问后台

  • 相关阅读:
    累加和最大化
    SELECT子句顺序
    Linux命令入门教程
    求字符串前缀最长的连续重复子串(不重叠)
    王道机试指南题解(C/C++版)
    C++ Primer 第 5 版 习题参考答案
    第 16 章
    第 15 章
    第 14 章
    从jvm源码解读Java运行时的类加载
  • 原文地址:https://www.cnblogs.com/qmsu/p/4891352.html
Copyright © 2011-2022 走看看