域名部署_部署_帮助文档_Thinkphp手册

域名部署_部署_帮助文档_Thinkphp手册

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

开启域名部署

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

域名部署的定义格式2和1的区别在于格式2可以隐式传入额外的参数。

域名和IP的解析涉及到DNS解析以及Apache等服务器的配置,这块不再详细描述,请参考相关百度资料。

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

完整域名部署

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

在域名部署之前的访问地址: 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

子域名部署

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

部署之前的访问地址: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参数不支持设置多个后缀,如果你是一级域名后缀的话则该参数可以无需任何设置。

传入参数

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

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

控制器绑定

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

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

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

泛域名部署

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

配置后,我们可以访问:

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

访问如下地址:

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

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

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

IP访问部署

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

未经允许不得转载:淘淘源码吧 » 域名部署_部署_帮助文档_Thinkphp手册