当前位置: 首页 > article >正文

Thinkphp 6.0路由的域名和跨域请求

本节课我们来学习一下路由的域名操作和跨域请求问题;


一.域名路由


1. 要使用域名路由,首先,在本地我们需要通过 hosts 文件来映射;
2. 打开 C:\Windows\System32\drivers\etc 找到 hosts 文件;
3. 在末尾添加一句:127.0.0.1 news.abc.com 映射二级域名;
4. 此时,我们访问 news.abc.com 就直接映射到 localhost 里了;
5. 如果想访问 thinkphp 独立的服务器,开启后,直接:8080 即可;
http://news.abc.com:8000
6. 如果想限定在 news.abc.com 这个域名下才有效,通过域名路由闭包的形式;

Route::domain('news', function () {
Route::rule('details/:id', 'Address/details');
});


7. 除了二级(子)域名的开头部分,也可以设置完整域名;

Route::domain('news.abc.com', function () {
Route::rule('details/:id', 'Address/details');
});


8. 支持多个二级(子)域名开头部分,使用相同的路有规则;

Route::domain(['news', 'blog', 'live'], function () {
Route::rule('details/:id', 'Address/details');
});


12. 可以作为方法,进行二级(子)域名开头部分的检测,或完整域名检测;

Route::rule('details/:id', 'Address/details')->domain('news');
Route::rule('details/:id', 'Address/details')->domain('news.abc.com');


13. 路由域名也支持:ext、pattern、append 等路由参数方法的操作;


二.跨域请求


1. 当不同域名进行跨域请求的时候,由于浏览器的安全限制,会被拦截;
2. 所以,为了解除这个限制,我们通过路由 allowCrossDomain()来实现;

Route::rule('details/:id', 'Address/details')->allowCrossDomain();


3. 实现跨域比如没有实现的 header 头文件多了几条开头为 Access 的信息;
4. 此时,这个页面,就可以支持跨域请求的操纵了;
5. 我们创建一个不同端口号或不同域名的 ajax 按钮,点击获取这个路由页面信息;
6. 如果,没有开启跨域请求,则会爆出提醒:
已拦截跨源请求:同源策略禁止读取位于 http://localhost:8000/details/5.html 的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')
7. 开启后,即正常获取得到的数据;
8. 如果你想限制跨域请求的域名,则可以增加一条参数;
 

Route::rule('col/:id', 'Collect/read')
->allowCrossDomain([
'Access-Control-Allow-Origin' => 'http://news.abc.com:8000'
]
);


http://www.kler.cn/a/4259.html

相关文章:

  • Vue2+OpenLayers实现折线绘制功能(提供Gitee源码)
  • 在 Fluent 网格划分中使用薄网格特征
  • 测试工程师的linux 命令学习(持续更新中)
  • 【Gossip 协议】Golang的实现库Memberlist 库简介
  • 【c++继承篇】--继承之道:在C++的世界中编织血脉与传承
  • 【Qt】03-页面切换
  • TS常用数据类型(TypeScript常用数据类型,ts常用数据类型和js常用数据类型的区别)
  • 前端面试题之html css篇
  • Spring MVC 启动之 Handler 揭秘
  • C#学习 Day2
  • gunicorn启动flask输出调试信息
  • CocosCreator实战篇 | 实现刮刮卡和橡皮擦 | 擦除效果
  • Mysql语句复习
  • 安装及使用本地Maven仓库
  • 面经-javascript基础
  • get和post的区别
  • python使用正则表达式re
  • Linux 多线程:多线程和多进程的对比
  • ChatGPT再掀AI资本狂潮,30位科技创新VC投资者齐聚“实在智能”
  • 2023年科睿唯安官方剔除的35本SCI清单
  • 【CSS】清除浮动 ③ ( 清除浮动 - 使用 after 伪元素 | 语法简介 | 兼容低版本浏览器 | 原理分析 )
  • 深度好文,无代码平台如何解决软件开发成本居高不下?
  • 【Python】大杀器:Photon超快速帮助你搜集信息
  • 大学生问AI
  • 2023年全国最新保安员精选真题及答案34
  • Nginx——Nginx优化方案设计