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

这篇具有很好参考价值的文章主要介绍了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. 如果你想限制跨域请求的域名,则可以增加一条参数;
 文章来源地址https://www.toymoban.com/news/detail-724664.html

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

到了这里,关于Thinkphp 6.0路由的域名和跨域请求的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • thinkphp6 入门(3)--获取GET、POST请求的参数值

    一、 Request 对象 thinkphp提供了 Request 对象,其可以 支持对全局输入变量的检测、获取和安全过滤 支持获取包括 $_GET 、 $_POST 、 $_REQUEST 、 $_SERVER 、 $_SESSION 、 $_COOKIE 、 $_ENV 等系统变量,以及文件上传信息 具体参考:https://www.kancloud.cn/manual/thinkphp6_0/1037519 二、可以通过Reque

    2024年02月11日
    浏览(33)
  • 【ThinkPHP6系列学习-1】下载并部署ThinkPHP6

    在指定目录(www目录)下打开cmd,使用composer下载thinkphp6,命令后面的thinkphp6就是下载的目录名,可以随意修改。 下载后,查看目录结构,tp6的目录结构和tp5不同,默认是单应用(只有一个模块),如果需要多应用,需要开启多应用模式,后面文章再讲。 主要用到的目录有

    2024年02月05日
    浏览(42)
  • ThinkPHP 配置跨域请求,使用TP的内置跨域类配置,小程序和web网页跨域请求的区别及格式说明

    TP 框架提供的内置类: thinkmiddlewareAllowCrossDomain::class 开启跨域 今天,在用ThinkPHP8做前后端分离配置跨域时,发现了一个小小的问题,就是我这块儿微信小程序发送token是完全正常的,但是使用web端网页发送请求它就会出现下面的错误 Access to XMLHttpRequest at \\\'http://robin.com/Art

    2024年02月07日
    浏览(25)
  • thinkphp6和thinkphp5有什么区别

    Thinkphp6.0完全开发手册 采用PHP7强类型(严格模式) tp5 环境要求PHP = 5.4.0 ThinkPHP6.0的环境要求 PHP = 7.2.5 6.0版本开始,必须通过Composer方式安装和更新,所以你无法通过Git下载安装。 支持更多的PSR规范 V6.0.10版本开始 支持 psr7 response 多应用支持 tp5默认使用多应用模式部署 tp6 安

    2024年02月06日
    浏览(46)
  • thinkPHP6接入workman

    上篇介绍了workman实现websocket功能(链接:https://blog.csdn.net/weixin_38155824/article/details/128952037) 后传:解决workman部署到Linux环境无法启动和连接的问题(https://blog.csdn.net/weixin_38155824/article/details/129004050) 这篇就介绍如何在thinkPHP6项目中接入workman。 查看TP6手册:命令行=自定义命

    2024年02月15日
    浏览(53)
  • thinkphp6-配置设置与获取,Thinkphp6自定义配置文件以及调用(config文件夹下的配置)

    环境变量 设置环境变量 /.env [DATABASE] USERNAME = root PASSWORD = 123456 获取环境变量 app/controller/Index.php 访问测试 http://codeit.org.cn/index {“username”:“root”,“password”:“123456”} 1.在thinkphpconfig下新建一个test.php配置文件 .test.php文件内容 调用test.php配置文件 配置 配置设置 config/app.

    2024年02月13日
    浏览(36)
  • ThinkPHP6中使用GatewayWorker

    首先是先安装 下载demo 服务器开通TCP端口 8282 、 1238 将 ApplicationsYourApp 目录随便放ThinkPHP6的哪个位置,我这里放在了 appgatewayws 目录中 配置 composer.json 保存后执行 composer dumpautoload 更新 将 Events.php 、 start_businessworker.php 、 start_gateway.php 和 start_register.php 文件中的 require_once

    2024年02月22日
    浏览(33)
  • Thinkphp6使用RabbitMQ消息队列

    Thinkphp6连接使用RabbitMQ(不止tp6,其他框架对应改下也一样),使用Docker部署RabbitMQ,在上一篇已经讲了-传送门-。 开始前先进入RabbitMQ的web管理界面,选择Queues菜单,点击底部的Add a new queue,新建一个test的队列。 安装thinkphp6框架 安装workerman扩展 安装rabbitmq扩展 生产者 在a

    2023年04月23日
    浏览(66)
  • thinkphp6 动态开启debug模式

    1、找到config/app.php   2、自定义开启debug参数名称:示例参数为debug,可以根据自己项目情况自定义  3、必须同时设置App::debug 和 Env::set(\\\'APP_DEBUG\\\')

    2024年02月07日
    浏览(37)
  • Thinkphp6 如何 生成二维码

    来自:https://www.is5.me/notes/php/633.html

    2024年02月11日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包