All caps HTTP headers with underscores dropped in Apache 2.4(Apache2.4中删除的所有带下划线的大写HTTP标头)
本文介绍了Apache2.4中删除的所有带下划线的大写HTTP标头的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个应用程序,它依赖于随请求一起发送全大写带下划线的HTTP标头。
以Apache 2.4,开头
包含无效字符(包括下划线)的标头现在 静默丢弃
This page建议您可以更改一些设置,以允许不剥离遗留HTTP标头(即,如果它们设置在cURL中,则它们将显示在PHP中的$_server数组中),但没有说明如何更改。我尝试将以下内容添加到HTACCESS文件
SetEnvIfNoCase^Accept.Encoding$^(.*)$FIX_ACCEPT_ENCODING=$1 RequestHeader设置Accept-Encoding%{FIX_ACCEPT_ENCODING}e 环境=FIX_ACCEPT_ENCODING
但似乎没有什么帮助。从Apache 2.2迁移到2.4时,是否还有其他人经历过这种情况?
推荐答案
我也遇到了同样的问题,我的睡觉接口需要两个自定义的Header进行认证,ccs_username和ccs_Authentication。升级到Apache 2.4后,在$_server数组中找不到这两个标头。
我必须通过以下方式修改htaccess文件才能解决此问题。
SetEnvIfNoCase ^CCS.USERNAME$ ^(.*)$ fix_ccs_username=$1
RequestHeader set CCS-USERNAME %{fix_ccs_username}e env=fix_ccs_username
SetEnvIfNoCase ^CCS.AUTHENTICATION$ ^(.*)$ fix_ccs_authentication=$1
RequestHeader set CCS-AUTHENTICATION %{fix_ccs_authentication}e env=fix_ccs_authentication
这两个自定义标头现在都出现在$_SERVER数组中。请注意,每个单独的自定义标头都必须有自己的条目,并且您必须对每个条目使用不同的名称。
这篇关于Apache2.4中删除的所有带下划线的大写HTTP标头的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:Apache2.4中删除的所有带下划线的大写HTTP标头
猜你喜欢
- 如何从数据库中获取数据以在 laravel 中查看页面? 2022-01-01
- 如何使用 Google API 在团队云端硬盘中创建文件夹? 2022-01-01
- Laravel 5:Model.php 中的 MassAssignmentException 2021-01-01
- 使用 GD 和 libjpeg 支持编译 PHP 2022-01-01
- openssl_digest vs hash vs hash_hmac?盐与盐的区别HMAC? 2022-01-01
- Oracle 即时客户端 DYLD_LIBRARY_PATH 错误 2022-01-01
- PHP - if 语句中的倒序 2021-01-01
- 覆盖 Magento 社区模块控制器的问题 2022-01-01
- PHP foreach() 与数组中的数组? 2022-01-01
- 如何在 Symfony2 中正确使用 webSockets 2021-01-01