thinkphp自动跳到首页 --开启域名部署/子域名部署/泛域名部署/IP访问部署

原创 2015年11月21日 10:29:04
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=*');
            */
            )

        域名部署的定义格式2和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模块
            ),

        复制代码
版权声明:本文为博主原创文章,未经博主允许不得转载。

Thinphp3.2.2 子域名部署(本地测试)

项目目录结构介绍:(两个模块Admin 和 Home) 这个tp32是apache的DocumentRoot下面的 本地原先配置的域名为 www.tp32.cc / tp32.cc 原先的配置如果...
  • yangligao_
  • yangligao_
  • 2015年03月03日 17:40
  • 1691

【ThinkPHP学习】ThinkPHP的模块绑定与域名部署

RT. 我现在有一个项目,使用ThinkPHP开发。有两个比较重要的链接:
  • killzero
  • killzero
  • 2014年08月19日 16:03
  • 4259

thinkphp之URL,跳转和重定向

一.URL 1.URL模式,在config.php配置
  • zhengxiaojunkite
  • zhengxiaojunkite
  • 2014年10月11日 17:14
  • 4117

【网站部署】解析二级域名并部署网站

开设原因 : 最近在学健身, 上一份工作辞掉后, 在北京找了家私人教练培训学校, 进行为期四个月的健身培训, 这个比在健身房找私教专业多了, 被健身房私人教练坑惨了, 说多了都是泪, 已经培训了将近一...
  • han1202012
  • han1202012
  • 2015年08月21日 12:51
  • 2229

thinkphp自动跳到首页 --开启域名部署/子域名部署/泛域名部署/IP访问部署

thinkphp开启域名部署/子域名部署/泛域名部署/IP访问部署         ThinkPHP支持模块(甚至可以包含控制器)的完整域名、子域名和IP部署功能,让你的模块变得更加灵活,模块绑...
  • qq_16644789
  • qq_16644789
  • 2015年11月21日 10:29
  • 1513

[thinkPHP5项目实战_01]thinkPHP5的引入及域名重新定向

1.开发前环境配置 使用PHPstudy搭建本地运行环境,使用Nginx作为本地服务器 2.thinkPHP5的引入 进入thinkPHP主站http://www.thinkphp.cn/下载thin...
  • weixin_36185028
  • weixin_36185028
  • 2017年08月10日 00:13
  • 1349

ThinkPHP3.2.3 二级域名设置深入(包括一系列问题的解决方案)

一直在学习,转载很多,也没为大家做点什么,今天花了大半天时间研究这个,中途洗了个澡看了几集,确实几度想放弃.书归正传,今天查了很多资料,大家都在说tp路由,不过没找到讲二级路由实现原理的,也没人给出在...
  • h330531987
  • h330531987
  • 2017年04月08日 01:29
  • 2350

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

thinkphp开启域名部署/子域名部署/泛域名部署/IP访问部署 thinkphp开启域名部署/子域名部署/泛域名部署/IP访问部署          ThinkPHP支持模块(甚至可以...
  • carolcoral
  • carolcoral
  • 2017年11月30日 19:46
  • 77

ThinkPHP5 域名单独路由 - 10

域名单独路由
  • zhengzizhi
  • zhengzizhi
  • 2017年08月01日 17:44
  • 376

thinkPHP实现子域名的路由分组

thinkPHP实现子域名的路由分组 在某一个子域名下实现分组
  • sinat_22878395
  • sinat_22878395
  • 2017年03月30日 10:39
  • 690
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:thinkphp自动跳到首页 --开启域名部署/子域名部署/泛域名部署/IP访问部署
举报原因:
原因补充:

(最多只允许输入30个字)