当前位置:   article > 正文

thinkphp5 域名路由_tp5 route::domain传参

tp5 route::domain传参

本片博客的内容和thinkphp5.0完全开发手册中的差不多一样,所以内容我照搬,不过这里主要侧重如何配置实现。

ThinkPHP支持完整域名、子域名和IP部署的路由和绑定功能,同时还可以起到简化URL的作用。 要启用域名部署路由功能,首先需要开启

‘url_domain_deploy’ => true

在这里插入图片描述
定义域名部署规则支持两种方式:动态注册和配置定义。

动态注册

可以在应用的公共文件或者配置文件中动态注册域名部署规则,例如:

blog子域名绑定到blog模块
Route::domain(‘blog’,‘blog’); 例1
完整域名绑定到admin模块
Route::domain(‘admin.thinkphp.cn’,‘admin’); 例2
IP绑定到admin模块
Route::domain(‘114.23.4.5’,‘admin’);例3

blog子域名绑定后,URL访问规则变成:
在这里插入图片描述
支持绑定的时候添加默认参数,例如:

blog子域名绑定到blog模块 Route::domain('blog','blog?var=thinkphp'); 例4
  • 1

除了绑定到模块之外,还隐式传入了一个 $_GET[‘var’] = ‘thinkphp’ 变量。 支持直接绑定到控制器,例如:

blog子域名绑定到index模块的blog控制器 Route::domain('blog','index/blog');例5
  • 1

URL访问地址变化为:
在这里插入图片描述
如果你的域名后缀比较特殊,例如是 com.cn 或者 net.cn 之类的域名,需要配置:
在这里插入图片描述

泛域名部署

可以支持泛域名部署规则,例如:

绑定泛二级域名域名到book模块 
Route::domain('*','book?name=*') 例6
  • 1
  • 2

下面的URL访问都会直接访问book模块

http://hello.thinkphp.cn 
http://quickstart.thinkphp.cn
//注意二级域名你要提前解析
  • 1
  • 2
  • 3

并且可以直接通过$_GET[‘name’]变量 获取当前的泛域名。
支持三级泛域名部署,例如:
在这里插入图片描述
的同时,除了会访问user模块之外,还会默认传入 $_GET[‘name’] = ‘hello’ 在配置传入参数的时候,如果需要使用当前的泛域名作为参数,可以直接设置为“*”即可。

配置定义方式

除了动态注册之外,还支持直接在路由配置文件中定义域名部署规则,例如:

return	[ 例7
'__domain__'=>[	
'blog'	=>	'blog',
//	泛域名规则建议在最后定义	
'*.user'	=>	'user',
'*'	=>	'book',		
],	
//	下面是路由规则定义 ]

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

域名绑定地址

在这里插入图片描述

绑定到命名空间

在这里插入图片描述

绑定到类

在这里插入图片描述

绑定到闭包函数

在这里插入图片描述
在这里插入图片描述

绑定路由规则

在这里插入图片描述

例1:Route::domain(‘blog’,‘blog’);
这里我以windows下面的虚拟站点为例。
第一步:把配置项打开
在这里插入图片描述
第二步:在route下面加入域名路由
在这里插入图片描述
这里时候,如果你访问了。你会得到没有找到ip地址这样的错误,这是因为你没有解析你的ip地址。
第三步:找到windows下面的hosts文件,并作出如下修改,加上二级域名
在这里插入图片描述
在这里插入图片描述
这样就可以了
在这里插入图片描述
例2:Route::domain(‘admin.thinkphp.cn’,‘admin’);
其实后两个和第一个差不多,这里就稍微说一下
只需要修改route.php配置就行,这里我为了效果更加明显修改了admin/Index里面的内容
在这里插入图片描述
在这里插入图片描述
效果图
在这里插入图片描述
例3:Route::domain(‘114.23.4.5’,‘admin’);
只需要修改route.php配置就行,这里我为了效果更加明显修改了admin/Index里面的内容
在这里插入图片描述
在这里插入图片描述
这是需要注意,访问的时候应该是127.0.0.1/控制器/方法,而不是域名/控制器/方法
在这里插入图片描述
例4
按照例1的配置,然后你只需要修改route.php配置和admin/index内容
在这里插入图片描述
在这里插入图片描述
效果
在这里插入图片描述
例5:
按照例1的配置,然后你只需要修改route.php配置和admin/index内容
在这里插入图片描述
在这里插入图片描述
例6:Route::domain(’’,'book?name=’)
按照例1的配置,然后你只需要修改route.php配置和admin/index内容
在这里插入图片描述
在这里插入图片描述
效果
在这里插入图片描述
例7
按照例1的配置,然后你只需要修改route.php配置和admin/index内容
在这里插入图片描述
在这里插入图片描述
效果图
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/351311
推荐阅读