yii2高级模板使用一个域名管理前后台
yii2的高级模板分为backend和frontend,最开始用yii的时候并没怎么在意,就使用了两个域名分别解析前后台。今天无意间看见
可以使用一个域名指向前后台。
1.修改 advanced/backend/config/main.PHP 文件如下:
return [
    'homeUrl' => '/admin',
    'components' => [
        'request' => [
            'baseUrl' => '/admin',
        ],
        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
        ],
    ],
];2.同样修改 advanced/frontend/config/main.php 文件:
return [
    'homeUrl' => '/',
    'components' => [
        'request' => [
            'baseUrl' => '',
        ],
        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
        ],
    ],
];3.配置域名解析
<VirtualHost *:80>
    ServerName advanced.loc
    ServerAlias www.advanced.loc
    DocumentRoot "/path/to/advanced"
    <Directory "/path/to/advanced">
        AllowOverride All
    </Directory>
</VirtualHost>4.新建一个.htaccess文件,写入一下内容。放在项目根目录advacnced下
# prevent directory listings
Options -Indexes
# follow symbolic links
Options FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/admin/$
RewriteRule ^(admin)/$ /$1 [R=301,L]
RewriteCond %{REQUEST_URI} ^/admin
RewriteRule ^admin(/.+)?$ /backend/web/$1 [L,PT]
RewriteCond %{REQUEST_URI} ^.*$
RewriteRule ^(.*)$ /frontend/web/$15.再次新建一个.htaccess文件,写入一下内容,在frontend和backend分别放一个。
# use mod_rewrite for pretty URL support
RewriteEngine on
# if a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward the request to index.php
RewriteRule . index.php如果服务器是nginx,则更改nginx.cong文件,写入以下内容,具体路径根据自身实际情况进行修改
server {
    charset      utf-8;
    client_max_body_size  200M;
    listen       80; ## listen for ipv4
    #listen       [::]:80 default_server ipv6only=on; ## listen for ipv6
    server_name  advanced.loc;
    root         /path/to/advanced;
    access_log   /path/to/logs/advanced.access.log main buffer=50k;
    error_log    /path/to/logs/advanced.error.log warn;
    location / {
        root  /path/to/advanced/frontend/web;
        try_files  $uri /frontend/web/index.php?$args;
        # avoiding processing of calls to non-existing static files by Yii
        location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
            access_log  off;
            expires  360d;
            try_files  $uri =404;
        }
    }
    location /admin {
        alias  /path/to/advanced/backend/web;
        rewrite  ^(/admin)/$ $1 permanent;
        try_files  $uri /backend/web/index.php?$args;
    }
    # avoiding processing of calls to non-existing static files by Yii
    location ~ ^/admin/(.+\.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar))$ {
        access_log  off;
        expires  360d;
        rewrite  ^/admin/(.+)$ /backend/web/$1 break;
        rewrite  ^/admin/(.+)/(.+)$ /backend/web/$1/$2 break;
        try_files  $uri =404;
    }
    location ~ \.php$ {
        include  fastcgi_params;
        # check your /etc/php5/fpm/pool.d/www.conf to see if PHP-FPM is listening on a socket or port
        fastcgi_pass  unix:/var/run/php5-fpm.sock; ## listen for socket
        #fastcgi_pass  127.0.0.1:9000; ## listen for port
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        try_files  $uri =404;
    }
    #error_page  404 /404.html;
    location = /requirements.php {
        deny all;
    }
    location ~ \.(ht|svn|git) {
        deny all;
    }
}yii2高级模板使用一个域名管理前后台的更多相关文章
- Yii2 高级模板不使用Apache配置目录,将前后台入口移到根目录
		刚刚入手Yii2高级模板不久,部署项目时,得部署2个应用,个人感觉很繁琐,就将前后台入口文件全部拿到项目根目录.但是一看,完了,出错了!找教程找不到,还是自己解决吧 为了以后好升级,不改变Yii2核心 ... 
- Yii2高级模板vendor和application非同级目录部署
		上面是Yii2的高级模板,当我们有多个application的时候,这种高级模板可以可以提供很好的扩展性,多个application共用一份YII2框架,默认情况下,框架和application是在同 ... 
- Yii2 高级模板 多域名管理问题
		现在在网站中有这种情况,比如有一个 http://frontend.com/tv 需要根据判断用户的 User Agent ,如果用户是手机浏览器的话,则跳转到 http://mobile.com/t ... 
- 【备忘录】yii2高级模板多个应用启用同一个域名多个栏目
		nginx部署方式,两种写法,本人认为第一种写法没有第二种写法优雅 第一种写法配置文件: server { listen ; server_name youban-dev.jqtest.mopon.c ... 
- Yii2高级模板的安装
		1.通过composer 安装高级版 C:wampwwwyii>composer create-project --prefer-dist yiisoft/yii2-app-advanced a ... 
- yii2高级模板安装
		通过 Composer 安装 如果还没有安装 Composer,在 Linux 和 Mac OS X 中可以运行如下命令: curl -sS https://getcomposer.org/insta ... 
- 对于 yii2 高级模板 生成文件入口
		安装的 advanced 模板web下是没有index.php 方法: 在advanced 目录下有个init.bat 应用程序 双击即可如下 查看advanced 目录 (刷新)如下 已有: 
- Yii2 高级模板添加更多Application
		单独的前端和后端有时是不够的. 如果需要额外的应用程序,例如博客blog: 1.将frontend复制到blog,环境/ dev / frontend到environments / dev / blo ... 
- Yii2 高级版新建一个 Api 应用
		原文地址:http://www.getyii.com/topic/28 先在项目的根目录下复制一份 backend 为 api: cp backend/ api -r 拷贝 api 环境 cp -a ... 
随机推荐
- mysql 中order by 与group by的顺序
			mysql 中order by 与group by的顺序 是: select from where group by order by 注意:group by 比order by先执行,order b ... 
- error: stray '\357' in program编程出错的总结
			错误: 编译报错:error: stray '\357' in program 原因:在程序中打入了全角字符 具体分析产生原因: 在编程中,由于打字的快速,按下ctrl键后紧接着按下了space键 ... 
- php微信扫码支付
			一 概述 扫码支付是商户系统按微信支付协议生成支付二维码,用户再用微信"扫一扫"完成支付的模式.该模式适用于PC网站支付.实体店单品或订单支付.媒体广告支付等场景.前几天公司需要做 ... 
- OkHttp实现全局过期token自动刷新
			#遇到问题: 当前开发的 App 遇到一个问题: 当请求某个接口时,由于 token 已经失效,所以接口会报错.但是产品经理希望 app 能够马上刷新 token ,然后重复请求刚才那个接口,这个过程 ... 
- zabbix_sender用法实例
			环境centos6.8 zabbix版本3.2.4 需求: 要远程监控一台服务器A,但只能通过远程服务器连接本地服务器B,但B不能主动连A(因为A没有固定公网ip) 使用了zabbix_agent的a ... 
- Java中的null值总结
			自我总结,有什么不对或不到位的地方,请指出,感激不尽! 目的:熟练掌握java中null值出现的情况,避免NullPointerException 代码环境准备:需要引入junit;将代码packag ... 
- java.lang.String中[ "张飞"+1+1 ]  和 [ "张飞"+(1+1) ]
			废话不多说,上代码: package com.core; public class StringTest { public static void main(String[] args) { Stri ... 
- 【Java入门提高篇】Day13 Java中的反射机制
			前一段时间一直忙,所以没什么时间写博客,拖了这么久,也该更新更新了.最近看到各种知识付费的推出,感觉是好事,也是坏事,好事是对知识沉淀的认可与推动,坏事是感觉很多人忙于把自己的知识变现,相对的在沉淀上 ... 
- 高通ASOC中的machine驱动
			ASoC被分为Machine.Platform和Codec三大部分,其中的Machine驱动负责Platform和Codec之间的耦合以及部分和设备或板子特定的代码,再次引用上一节的内容:Machin ... 
- easyUI---datagrid合并单元格代码实现
			1.html部分: <div id="table1"></div> 2.js部分: $('#table1').datagrid({ data : data, ... 
