php 405跳转,php – 返回HTTP 405的CORS预检请求
我正在尝试创建一个RESTful Web服务,并且已经停止实现PUT请求.我尝试过但未能在本网站上关注其他答案以及Mozilla的各种文章.
该请求是从域wwwtest.dev-box生成的,它将转到test.dev-box(基本上是一个调用后端应用程序的前端应用程序).以下是我从Live HTTP标头中捕获的标头:
http://test.dev-box/resource/v1/data/user/1
OPTIONS /resource/v1/data/user/1 HTTP/1.1
Host: test.dev-box
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Origin: http://wwwtest.dev-box
Access-Control-Request-Method: PUT
Connection: keep-alive
HTTP/1.1 405 Method Not Allowed
Date: Wed, 16 Oct 2013 16:15:58 GMT
Server: Apache/2.2.15 (Red Hat)
x-powered-by: PHP/5.3.27
Access-Control-Allow-Origin: http://wwwtest.dev-box
Access-Control-Allow-Methods: POST, GET, PUT, OPTIONS
Access-Control-Max-Age: 1728000
Content-Length: 0
Allow: PUT
Cache-Control: no-cache
Connection: close
Content-Type: text/html; charset=UTF-8
我正在使用一个框架,所以一切都被路由到web.php,它在页面顶部包含以下代码(取自this MDN article):
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
header('Access-Control-Allow-Origin: http://wwwtest.dev-box');
header('Access-Control-Allow-Methods: POST, GET, PUT, OPTIONS');
header('Access-Control-Max-Age: 1728000');
header("Content-Length: 0");
header("Content-Type: text/plain");
} else {
header("HTTP/1.1 403 Access Forbidden");
header("Content-Type: text/plain");
}
在我的代码发出PUT请求之前,它首先发送CORS预检OPTIONS请求(从上面的捕获中可以看到).应该将必要的标题附加到响应并告诉请求者允许PUT.不幸的是,正如您从上面的响应标头中可以看到的那样,即使PUT在响应access-control-allow-methods中,它仍然返回405 Method Not Allowed.
这是我正在使用的框架的.htaccess文件(Silex):
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ web.php [QSA,L]
php 405跳转,php – 返回HTTP 405的CORS预检请求相关推荐
- ajax 如何禁止 预检请求,如何跳过“选项”预检请求?
我开发了一个PhoneGap应用程序,现在将其转换为移动网站.除了一处小故障,一切都可以顺利进行.我通过POST请求使用了某个第三方API,该API在该应用中可以正常运行,但在移动网站版本中却无法运行 ...
- 浏览器预检请求返回400 has been blocked by CORS policy: Response to preflight request doesn’t pass access cont
这个问题也是很过分头一次遇到,原因是谷歌浏览器在有跨域(CORS)请求时,会先发送一个preflight(预检)请求,之后才会发送fetch请求. CORS:跨源资源共享 (CORS)(或通俗地译为跨 ...
- SVN 服务器发送了意外的返回值(405 Method Not Allowed),在响应 “MKCOL” 的请求
服务器发送了意外的返回值(405 Method Not Allowed),在响应 "MKCOL" 的请求 服务器发送了意外的返回值(405 Method Not Allowed), ...
- 异常解决之——无法在Web服务器上启动调试。远程服务器返回错误:(405)
最近调试webapi出现错误:异常解决之--无法在Web服务器上启动调试.远程服务器返回错误:(405) 英文异常:Unable to start debugging on the web serve ...
- http 返回码 405 解决方案之一
今天做网络请求数据的时候遇到返回码405,当时就傻了~~ 故事是这样的-- 我用post请求访问一个url,服务端数据是一个json的txt文件,理论上直接访问,返回json,然后 ...
- SVN-服务器发送了意外的返回值(405 Method Not Allowed),在响应 “MKCOL” 的请求
服务器发送了意外的返回值(405 Method Not Allowed),在响应 "MKCOL" 的请求 服务器发送了意外的返回值(405 Method Not Allowed), ...
- vue跳转页面之后返回_vue页面跳转后返回原页面初始位置方法
vue页面跳转到新页面之后,再由新页面返回到原页面时候若想返回调出原页面的初始位置,怎么来解决这个问题呢?首先我们应该在跳出页面时候记录下跳出的scrollY,返回原页面的时候在设置返回位置为记录下的 ...
- Qt实现页面跳转与返回上一级页面(Qt+VS2019)
Qt实现页面跳转与返回上一级(Qt+VS2019) 页面跳转 返回上一级 页面跳转 问题描述:主界面yangc.ui;需要在主界面点击按钮后进入相应子界面,在子界面点击"返回"按钮 ...
- html页面跳转返回不要刷新,javascript跳转与返回和刷新页面的实例代码
javascript中window.open()与window.location.href的区别 window.open('index.html') 表示新增一个窗口打开 index.html 这个页 ...
最新文章
- php改密后joomla无法登陆,恢复丢失的Joomla密码的最常用方法
- 编程之美-连连看游戏设计方法整理
- 汽车故障检测软件_汽车没故障,定期保养,为啥尾气检测通不过?老司机说出关键...
- 【思维题 状压dp】APC001F - XOR Tree
- linux nfs 权限设置,Linux NFS server 配置
- 弄懂CNN,然后提升准确率4.21-4.27
- 你的pyc文件,泄露了你的秘密!
- 独家!三代Ryzen国行价格来了:12核3999
- 苹果手机自带表格软件_解决手机系统自带软件无法卸载问题
- 精通 Oracle+Python,第 4 部分:事务和大型对象
- WPF之DatePicker使其只能选择日期,不能输入日期
- Python3的迭代器
- jxls模板hashmap_使用Java + jxls基于模板导出excel
- 趣键盘霸榜App Store七天,下一个趣头条诞生?
- 在任务栏中添加控件 如360小助手、QQ桌面小助手
- matlab将txt转成dat,将matlab中数据保存为txt或dat格式
- python seek_Python 文件 seek() 方法
- t4240 uboot下网络调试(88e1111)
- phpstudy mysql建表_MySQL_总结MySQL建表、查询优化的一些实用小技巧,MySQL建表阶段是非常重要的一 - phpStudy...
- codeforce B. Cutting Carrot
热门文章
- mysql 并发 锁表_MySQL中的锁(表锁、行锁) 并发控制锁
- js 和java有关系吗,javascript和JAVA有什么关系
- centos安装盘ntfs_在CentOS下挂载NTFS格式U盘的方法
- android动画详解
- node php聊天室,最简单的Nodejs聊天室示例
- [JSON].valueOf( keyPath )
- 使用xtrabackup(innobackupex)实现MySQL的热备
- NHibernate实例化类部分属性
- 【百度地图API】发布静态图API啦!只需一个网址,即可展示定制百度地图!
- js导航条 二级滑动 模仿块级作用域