'APP_SUB_DOMAIN_DEPLOY' => false, // 是否开启子域名部署

thinkphp开启域名部署/子域名部署/泛域名部署/IP访问部署

 

         ThinkPHP支持模块(甚至可以包含控制器)的完整域名、子域名和IP部署功能,让你的模块变得更加灵活,模块绑定到域名或者IP后,URL地址中的模块名称就可以省略了,所以还可以起到简化URL的作用。

        无论是子域名还是IP部署,首先要在应用配置文件中开启APP_SUB_DOMAIN_DEPLOY,这是前提,然后配置域名部署规则APP_SUB_DOMAIN_RULES。

             'APP_SUB_DOMAIN_DEPLOY' => 1, // 开启子域名或者IP配置

             'APP_SUB_DOMAIN_RULES' => array(

            /* 域名部署配置

             *格式1: '子域名或泛域名或IP'=> '模块名[/控制器名]';

            *格式2: '子域名或泛域名或IP'=>  array('模块名[/控制器名]','var1=a&var2=b&var3=*');

            */

             )

和1的区别在于格式2可以隐式传入额外的参数。        域名和IP的解析涉及到DNS解析以及Apache等服务器的配置,这块不再详细描述,请参考相关百度资料。

        域名或者IP部署到模块并不需要设置模块访问列表。

 

        完整域名部署

        可以在域名规则中直接定义完整的域名,例如:

             'APP_SUB_DOMAIN_DEPLOY' => 1, // 开启子域名配置

             'APP_SUB_DOMAIN_RULES' => array(

            'admin.domain1.com' =>  'Admin', // admin.domain1.com域名指向Admin模块

            'test.domain2.com' =>  'Test', // test.domain2.com域名指向Test模块

            ),

        
 

         在域名部署之前的访问地址: http://www.domain.com/Admin/Index/index 和  http://www.domain.com/Test/Index/index

        
 

        域名部署后的访问地址变成:  http://admin.domain1.com/Index/index 和  http://test.domain2.com/Index/index

 

         子域名部署

        
 

         子域名部署包括任意级子域名的支持,在你的应用配置文件中增加如下配置参数:

 

             'APP_SUB_DOMAIN_DEPLOY' => 1, // 开启子域名配置

             'APP_SUB_DOMAIN_RULES' => array(

            'admin' => 'Admin', //  admin子域名指向Admin模块

            'test' => 'Test', // test子域名指向Test模块

             ),

      部署之前的访问地址:http://www.domain.com/Admin/Index/index

      部署后的访问地址变成:  http://admin.domain.com/Index/index

      如果你的部署域名后缀是二级后缀,例如 com.cn  、net.cn 或者 org.cn 之类的话,为了让系统更好的识别你的子域名,需要配置APP_DOMAIN_SUFFIX如下:

 

           'APP_DOMAIN_SUFFIX'=>'com.cn'

            APP_DOMAIN_SUFFIX参数不支持设置多个后缀,如果你是一级域名后缀的话则该参数可以无需任何设置。

 

         传入参数

 

        子域名部署的时候,可以传入隐式的参数,例如:

 

             'APP_SUB_DOMAIN_DEPLOY' => 1, // 开启子域名配置

             'APP_SUB_DOMAIN_RULES' => array(

            'admin' =>  array('Admin','var1=1&var2=2'), // admin子域名指向Admin模块

             ),

 

        访问 http://admin.domain.com/Index/index 的同时会传入 $_GET['var1'] =  1 和 $_GET['var2'] = 2 两个参数。

 

        控制器绑定

 

         子域名部署还可以支持绑定某个控制器,例如:

 

            'APP_SUB_DOMAIN_DEPLOY' => 1, //  开启子域名配置

            'APP_SUB_DOMAIN_RULES' => array(

             'test.admin' => 'Admin/Test', // test.admin子域名指向Admin模块的Test控制器

             ),

 

        部署之前的访问地址:  http://www.domain.com/Admin/Test/index

 

        部署后的访问地址:  http://test.admin.domain.com/index

 

         泛域名部署

 

        如果要部署某个模块到泛域名支持,可以使用:

 

             'APP_SUB_DOMAIN_DEPLOY' => 1, // 开启子域名配置

             'APP_SUB_DOMAIN_RULES' => array(

            'admin' => 'Admin', //  admin域名指向Admin模块

            '*' => array('Test','var1=1&var2=*'), //  二级泛域名指向Test模块

            '*.user' => array('User','status=1&name=*'),  // 三级泛域名指向User模块

            ),

 

        配置后,我们可以访问:

 

             http://hello.domain.com/Index/index

 

        访问Test模块 并隐式传入$_GET['var1']  = 1 和 $_GET['var2'] = 'hello' 两个参数。

 

        访问如下地址:

 

             http://think.user.domain.com/Index/index

 

        访问User模块,并隐式传入  $_GET['status'] = 1 和 $_GET['name'] = 'think' 两个参数。

 

         在配置传入参数的时候,如果需要使用当前的泛域名作为参数,可以直接设置为"*"即可。

 

             目前只支持二级域名和三级域名的泛域名部署。

 

         IP访问部署

 

        可以为某些模块配置IP访问规则,例如:

 

             'APP_SUB_DOMAIN_DEPLOY' => 1, // 开启子域名配置

             'APP_SUB_DOMAIN_RULES' => array(

            '22.56.78.9' => 'Admin',  // 22.56.78.9指向Admin模块

            ),

 

文章来源:刘俊涛的博客

欢迎关注,有问题一起学习欢迎留言、评论

TP框架中APP_SUB_DOMAIN_DEPLOY什么意思?的更多相关文章

  1. TP框架中关于if、else 分支结构逻辑错误

    TP框架中关于if.else 分支结构逻辑错误 代码中没有任何错误 将注释往下一行就可以解决 造成问题的原因: TP框架中 想分配变量可以使用assign方法 在[模块]中: $this->as ...

  2. TP框架中如何使用SESSION限制登录?

    TP框架中如何使用SESSION限制登录? 之前总是被问题今天才明白,最高效的来做页面访问限制问题. OOP思想中的继承特性,实现验证,是否已经登录,不必每个页面都进行判断. 实现如下: 继承Cont ...

  3. TP框架中ajax post请求时提示404

    ajax post请求时提示404错误 TP框架中ajax post请求时提示404 找了半天是 控制器中方法有错误! 下次再遇到去控制器方法中找一步一步找,肯定能找到,我是单词拼错了!

  4. TP框架中field查询字段

    TP框架中field查询字段 不是fields 也不是files !!!! 不是fields 也不是files !!!! 不是fields 也不是files !!!! 不是fields 也不是file ...

  5. TP框架中模板赋值

    TP框架中模板赋值 $this->assign('name',$value); $this->name = $value; // 两种写法是等效的

  6. TP框架中模糊查询实现

    TP框架中模糊查询实现 $where['g.name'] = array('like','%'.$groupname.'%'); 表达式查询 上面的查询条件仅仅是一个简单的相等判断,可以使用查询表达式 ...

  7. tp框架中的一些疑点知识-7

    mysqli是用面向对象的,所以用箭头对象语法, 而mysql是用C语言面向过程写的, 所以用的都是php全局函数 式的写法. tinkle: 叮叮当当的响; (口语)一次电话, i will giv ...

  8. tp框架中的一些疑点知识-5

    关于vim中的缓存区的前后bp和bn的界定 通过命令ls可以看到 缓存区的 排序. 最开始打开的文件排在最上面, 序号最小. 那么它们就是 更 前 的缓冲区. 序号更前的用bp, 序号靠后的用bn. ...

  9. tp框架中的一些疑点知识-2

    tp中有三种常量: 预定义常量, 这个设置后不会随环境的改变而改变的,比如'URL_MODEL' => 1 注意是 model, 不是 url_mode 路径常量, 也不会随环境的改变而改变的, ...

随机推荐

  1. 如何在java中跳出当前多重嵌套循环?有几种方法?

    如何在java中跳出当前多重嵌套循环?有几种方法? - 两种方法   - 1.在外层循环定义标记          ok:          for(int i=0;i<100;i++){    ...

  2. ThinkPHP中RBAC权限管理的简单应用

    RBAC英文全称(Role-Based Access Controller)即基于角色的权限访问控制,简单来讲,一个用户可以拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色-权限”的授 ...

  3. 华为S5300系列交换机V100R005SPH008热补丁

    S23_33_53-V100R005SPH008.pat 附件: 链接:https://pan.baidu.com/s/1XfIQ55g5pWI9aqmM7LHUew  密码:f2mu

  4. apache上部署django的静态文件

    一直在优化自己博客的代码, 昨天把css样式表分离出来, 用作静态 文件, 但是自己还没学django怎么使用静态文件, 经过一番google 终于解决了. django 使用静态文件有两种方法, 一 ...

  5. ARM ® and Thumb ®-2 指令系统

    指令表关键词        Rm {, <opsh>} 寄存器移位方式,将寄存器的移位结果作为操作数而Rm值保持不变       <Operand2> 灵活的使用第二个操作数. ...

  6. Android Gradle Plugin指南(五)——Build Variants(构建变种版本号)

    原文地址:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants 6. Build Vari ...

  7. pytest文档17-fixture之autouse=True

    前言 平常写自动化用例会写一些前置的fixture操作,用例需要用到就直接传该函数的参数名称就行了.当用例很多的时候,每次都传这个参数,会比较麻烦. fixture里面有个参数autouse,默认是F ...

  8. Selenium2+python自动化57-捕获异常(NoSuchElementException)

    前言 在定位元素的时候,经常会遇到各种异常,为什么会发生这些异常,遇到异常又该如何处理呢? 本篇通过学习selenium的exceptions模块,了解异常发生的原因. selenium+python ...

  9. [翻译] AFNetworking 2.0

    大名鼎鼎的开源网络库AFNetworking 2.0,目前只是翻译了Github上的链接文章,使用教程请点击 http://www.cnblogs.com/YouXianMing/p/3651462. ...

  10. 《SEO深度解析——全面挖掘搜索引擎优化的核心秘密》

    <SEO深度解析——全面挖掘搜索引擎优化的核心秘密> 基本信息 作者: 痞子瑞 出版社:电子工业出版社 ISBN:9787121224041 上架时间:2014-2-28 出版日期:201 ...